Skip to main content
The template configures roughly 40 variables across the seven services. Almost all of them are wired together with Railway references and never need touching. This page covers the ones you might actually change, then summarizes the wiring for the curious.

Variables you set at deploy time

All three live on the backend service; the supervisor references them from there. Changing them later: edit them on the backend, then redeploy the backend and supervisor.

Variables you might change later

Multi-server identity

These two make each game server’s data distinct. Rules and per-server values are covered in the multi-server guide.

The wiring (don’t touch)

Everything else exists to point services at each other and mirror upstream’s compose file:
  • Database: HLL_DB_* on the backend and supervisor reference the Postgres service’s generated credentials (POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB) and private domain.
  • Redis: HLL_REDIS_HOST, HLL_REDIS_PORT, and HLL_REDIS_URL reference the Redis service’s private domain.
  • Secrets: RCONWEB_API_SECRET is generated once at deploy and encrypts sessions and stored passwords. Never change it after first deploy; doing so invalidates stored credentials.
  • Cross-service: CRCON_API_HOST (frontend to backend), SUPERVISOR_RPC_URL (backend to supervisor), and CRCON_FRONTEND_HOST (backend’s internal alias for the UI’s multi-server registry) are all private-network references.
  • Ports: PORT tells Railway which port to healthcheck where a healthcheck exists; RCONWEB_PORT, PUBLIC_STATS_PORT, and PUBLIC_STATS_PORT_HTTPS are display-only on Railway.
  • Logging: LOGGING_LEVEL (INFO), LOGGING_PATH, and CONFIG_DIR mirror upstream defaults.
For the full service-by-service recipe (the template maintainer’s view), see TEMPLATE.md in the repo.