Managing the deployment
Day-to-day commands for running the panel with Docker Compose.
Run these from the panel's directory (where compose.yml lives).
Everyday commands
bash
docker compose logs -f # tail logs (all services)
docker compose logs -f api # tail just the API
docker compose ps # status + health
docker compose up -d --build # (re)build and start / redeploy
docker compose down # stop everything
docker compose restart api # restart just the API (e.g. after a .env change)If you use the Palworld network overlay, include both files (or set COMPOSE_FILE):
bash
docker compose -f compose.yml -f compose.palworld.yml up -d --buildUpdating to a new version
bash
git pull origin main
docker compose up -d --build # add the -f overlay if you use itRebuilds are incremental — the heavy save-converter/Oodle build layers are cached, so most updates rebuild quickly.
After changing .env
Most variables are read at start, so apply changes with:
bash
docker compose up -d # recreates containers with the new envFor API-only variables you can docker compose restart api. Note that the scheduler times and live config are read continuously, so those don't need a restart.
Health checks
- API health endpoint:
GET /api/health(or/healthin local dev). - The dashboard top bar shows a Live badge when the WebSocket is connected and a connection status for the game server.
Backups & state
- World backups and the panel's small state files live in the
tsuki-backupsvolume. Don't delete it unless you mean to. - To move to a new host, copy that volume (or export backups from the Backups page) along with your
.env.
Recreating volumes
If you ever need to recreate the backups volume (e.g. after changing ownership), remember it holds your backups and state:
bash
docker compose down
docker volume rm tsuki-panel_tsuki-backups # destroys backups — export first!
docker compose up -d --buildSee Troubleshooting for specific error fixes.