Skip to content

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:

ssh -L 17860:localhost:17860 user@your-vps-ip

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:

ssh -fNL 17860:localhost:17860 user@your-vps-ip

-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:

# After reboot, cd to the folder with docker-compose.yml and run:
docker compose start

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.