# Factorio game server, run and managed by Factorio Server Manager # (the maintained Tricade fork). One container holds the manager UI # and the Factorio headless server it downloads and controls. # # - The UI listens on 80/tcp; Dokploy routes HTTPS to it via Traefik. # - The game speaks UDP on 34197. Traefik cannot route it; Docker # publishes the port directly, so the DNS record stays DNS-only. # - RCON stays inside the container with a generated password. services: manager: # Pin an exact manager release. Releases are immutable SemVer tags. image: ghcr.io/tricade/factorio-server-manager:0.17.5 restart: unless-stopped # The manager asks Factorio for a clean save-and-stop on SIGTERM # and needs up to 165 s for it. stop_grace_period: 3m environment: # First-install game version. The UI switches versions after, # and the server must match the players' client version. FACTORIO_VERSION: stable FSM_MAX_UPLOAD: "512" # Every login goes through Traefik over HTTPS. FSM_COOKIE_SECURE: "true" RCON_PASS: "" ports: - "34197:34197/udp" volumes: - fsm-data:/opt/fsm-data - factorio-data:/opt/factorio volumes: # Explicit names, so the volumes do not carry the compose project # prefix and a backup job can address them by name. fsm-data: name: factorio-fsm-data factorio-data: name: factorio-data