Installation
Docker and service management
Forge is deployed with Docker Compose; Docker is the boot-time service manager used by the shipped production configuration.
Repository-validated operator guidance View source ↗
#Supported service model
The repository does not ship a Forge API systemd unit, a Forge Web systemd unit, a Beacon systemd unit, or a systemd timer. Compose services use restart policies, and scripts/install.sh enables and starts the Docker system service when systemctl is available.
#Everyday commands
From infra/
docker compose -f compose.yml -f compose.production.yml --env-file .env ps
docker compose -f compose.yml -f compose.production.yml --env-file .env logs -f api
docker compose -f compose.yml -f compose.production.yml --env-file .env restart api
docker compose -f compose.yml -f compose.production.yml --env-file .env config --quiet
docker compose -f compose.yml -f compose.production.yml --env-file .env pull
docker compose -f compose.yml -f compose.production.yml --env-file .env up -d --build#Persistent state
| Service | Persistent location | Do not delete casually |
|---|---|---|
| PostgreSQL | Named volume postgres-data | Contains Forge state and migrations. |
| Redis | Named volume redis-data | Contains append-only Redis data. |
| Caddy | Named caddy-data and caddy-config volumes | Contains certificate and proxy state. |
| Beacon | GAME_SERVERS_HOST_DIR mounted to DAEMON_DATA_DIR | Contains game and workload files. |
#Destructive commands
Avoid volume deletion
docker compose down does not remove named volumes by itself. Adding -v removes named volumes and can destroy Forge state. Confirm backups before using it.