VPS Deployment¶
The Docker setup works on any VPS. The one thing to be careful about: the web dashboard has no login screen.
Secure the dashboard port¶
Do not open port 17860 in your VPS firewall. Anyone who can reach it can read and change your Discord token and API keys.
Instead, access the dashboard through an SSH tunnel:
Open http://localhost:17860 in your browser — traffic goes through SSH to your VPS. The port never touches the public internet.
To run the tunnel in the background:
-f sends it to the background; -N means "don't run any commands, just forward the port."
Keeping the bot running¶
Docker containers stop when the VPS reboots unless you configure Docker to start on login, or use a systemd service. The simplest approach:
For a production setup, add a restart policy to each service in docker-compose.yml. Open the file and add restart: unless-stopped under each service name:
services:
bot:
restart: unless-stopped # add this line
image: ...
web:
restart: unless-stopped # add this line
image: ...
With unless-stopped, containers restart automatically after a reboot unless you explicitly stopped them with docker compose stop.