2.0 KiB
Docker Compose deployment
This deployment builds the panel and web UI from the checked-out source. It does not need GitHub Actions or a published GHCR image.
-
Install Docker Engine with the Compose plugin on a Linux host. Point a DNS name at that host and arrange HTTPS through your reverse proxy.
-
Check out the commit you want to deploy, then copy
.env.exampleto.env. SetADMIN_PASSWORDto a unique password andPUBLIC_URLto the publichttps://URL. SetSCOPENET_TRUSTED_PROXIESonly to the IP addresses of proxies that send forwarding headers. -
Run:
docker compose config --quiet docker compose up -d --build docker compose ps docker compose logs --tail=100 panel
The panel listens on PANEL_PORT (default 8080). Docker checks
/scopenet-panel healthcheck inside the container. Wait for healthy in
docker compose ps before directing players to it. If ADMIN_PASSWORD is
blank on first start, the generated password appears in the panel logs.
To show a Vantage world map in the launcher, deploy Vantage next to each game server and configure its manifest URL in the panel. See Live map setup. Vantage needs access to the game world's saved files, so it runs alongside the game server rather than inside the panel container.
The named panel-data volume holds the database, uploads, hosted launcher
downloads, and the generated JWT signing key. Preserve that volume when
upgrading. To back it up, stop the panel, archive the volume with a temporary
container, then start it again:
docker compose stop panel
docker run --rm -v scopenet-mc_panel-data:/data:ro -v "$PWD":/backup alpine tar czf /backup/panel-data.tar.gz -C /data .
docker compose up -d
If your Compose project has a different name, use the volume name shown by
docker volume ls. To upgrade, pull the desired commit and run
docker compose up -d --build again. Do not use docker compose down -v unless
you intend to delete the panel data.