General Configuration - LouisFahrenheit/Factorio-Control-Center GitHub Wiki
Configuration options for Factorio Control Center (FCC): environment variables, network ports, firewall rules, and security tokens.
-
Environment Variables (
.envor container environment):- Values set here override settings in the database and disable edits to those fields in the web interface.
- Requires an application restart to take effect.
-
Database Settings (Web UI):
- Managed directly through the panel under Settings without requiring application restarts.
| Variable | Default | Description |
|---|---|---|
HOST |
0.0.0.0 |
IP interface to bind the web server to. |
PORT |
8080 |
Port for the web interface to listen on. |
PUBLIC_HOST |
Empty | Public domain or IP used for shareable links when behind a proxy. |
PUBLIC_PORT |
Empty | External port if different from internal PORT. |
API_TOKEN |
Random | Token for REST API access via Authorization: Bearer <API_TOKEN>. |
APP_SECRET |
Auto | 64-character encryption secret for protecting sensitive database values. |
FCC_ADMIN_USER |
Empty | Username for administrator account creation on first boot. |
FCC_ADMIN_PASSWORD |
Empty | Password for administrator account creation on first boot. |
TLS_ENABLED |
false |
Enable built-in HTTPS listener (true/false). |
TLS_CERTFILE |
Empty | Path to SSL certificate file (.crt or .pem). |
TLS_KEYFILE |
Empty | Path to SSL private key file (.key). |
TLS_KEY_PASSWORD |
Empty | Password for encrypted private key. |
TELEGRAM_BOT_TOKEN |
Empty | Telegram bot token from @BotFather for alerts. |
TELEGRAM_CHAT_ID |
Empty | Telegram chat ID for alert delivery. |
DEBUG_LOGS |
false |
Enables verbose debug logging in application output. |
SWAGGER_ENABLED |
false |
Enables OpenAPI / Swagger UI at /api/docs. |
To allow FCC to download official server versions and manage mods from mods.factorio.com:
- Log into your profile at factorio.com/profile.
- Retrieve your Username and Token.
- In the FCC panel, navigate to Settings -> Global Settings.
- Set Global Factorio Username and Global Factorio Token, then click Save.
This configuration applies across all server instances managed by the panel.
| Port | Protocol | Usage |
|---|---|---|
8080 |
TCP | Web panel HTTP interface |
8443 |
TCP | Web panel HTTPS interface (when TLS is active) |
34197 |
UDP | Default Factorio game port for server instance 1 |
34198-34207 |
UDP | Default ports for additional Factorio server instances |
-
Linux (UFW):
sudo ufw allow 8080/tcp sudo ufw allow 34197:34207/udp
-
Windows (PowerShell):
New-NetFirewallRule -DisplayName "Factorio Dedicated Servers" -Direction Inbound -LocalPort 34197-34207 -Protocol UDP -Action Allow New-NetFirewallRule -DisplayName "Factorio Control Center Panel" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow
FCC includes rate limiting settings for authentication:
| Variable | Default | Description |
|---|---|---|
AUTH_MAX_FAILED_ATTEMPTS |
5 |
Failed attempts allowed before lockout. |
AUTH_LOCKOUT_MINUTES |
10 |
Lockout duration in minutes. |
AUTH_ATTEMPT_WINDOW_MINUTES |
10 |
Time window in minutes to accumulate failed attempts. |
Language and theme can be fixed for all users via .env:
# Options: 'en', 'ru'
PANEL_LANGUAGE=en
# Options: 'fcc_classic', 'dark_space', 'vulcanus', 'ion_storm', 'cryogenics'
PANEL_THEME=fcc_classic