Skip to content

Updates and backups

Terminal window
cd deploy
docker compose pull
docker compose up -d
  • The panel applies database migrations when it starts. Back up first (below), so you can go back.
  • Game servers keep running: they run on the nodes, not in the panel. The agents reconnect within seconds.
  • Installed apps on phones pick up the new version on their next start.

On each node, pull the agent’s image and recreate its container:

Terminal window
docker compose -f compose.agent.yml pull
docker compose -f compose.agent.yml up -d

The node keeps its identity, and the agent picks up the running game servers again.

Two things, and they belong together:

  1. The database: users, tenants, servers, settings, and the encrypted secrets and their keys.
  2. The master key (keys/master.key): it decrypts the keys in the database. A database backup without it can be restored, but Steam passwords and secret variables can’t be read anymore, and everyone has to sign in again.
Terminal window
cd deploy
docker compose exec -T postgres pg_dump -U panel -d panel -Fc > panel-$(date +%F).dump

Keep the dumps and keys/master.key in different places: someone with both can read the secrets.

  1. Start an empty database: docker compose up -d postgres
  2. Load the dump:
    Terminal window
    docker compose exec -T postgres pg_restore -U panel -d panel --no-owner < panel-2026-10-15.dump
  3. Put the same keys/master.key in place and start the panel: docker compose up -d

The nodes reconnect on their own; their identity is in the database.

The panel’s backup doesn’t contain the game servers’ files. They are on the nodes, in /var/lib/panel-agent:

Folder Contents
servers/ the game servers’ files
backups/ server backups made in the panel
console/ console logs
agent.json the node’s identity (new enrollment token: a new one)

Server backups stay on the node they were made on. To keep copies elsewhere, back up /var/lib/panel-agent/backups/ with your usual tools (restic, Borg, a NAS sync); copies to S3 or a NAS from the panel itself are planned.