Calagopus Panel is configured entirely through environment variables. You set these in yourDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/calagopus/panel/llms.txt
Use this file to discover all available pages before exploring further.
compose.yml file under the web service’s environment block, or in a .env file if you are running the binary directly.
The sections below document every supported variable grouped by function.
Database
PostgreSQL connection string. Format:
postgresql://user:password@host:port/database.Example: postgresql://panel:panel@db/panelWhen
true, the panel automatically runs pending database migrations on startup. Set to false if you want to run migrations manually or manage them separately.Cache
Redis-compatible connection string for Valkey or Redis. Format:
redis://host or redis://user:password@host:port.Example: redis://cacheIf omitted (as in compose.minimal.yml), caching falls back to in-process memory only.Application settings
The port the panel HTTP server listens on. Change this if port 8000 conflicts with another service.
Timezone for the container and log timestamps. Uses standard tz database names.Example:
Europe/Berlin, America/New_YorkDesignates this instance as the primary node responsible for running background tasks such as cleanup jobs and scheduled operations.In a multi-node deployment, set
APP_PRIMARY=true on exactly one instance and APP_PRIMARY=false on all others.Enables verbose debug logging. Do not enable in production — log output will contain sensitive information.
Path inside the container where log files are written.Example:
/var/log/calagopusThis path should match the container-side path of your logs volume mount.When enabled, the panel proxies user browser requests to Wings nodes through itself, rather than requiring direct browser-to-Wings connectivity.This simplifies home network and NAT setups where the Wings node is not publicly reachable. It is not recommended for deployments with many nodes or high traffic, as all Wings traffic passes through the panel process.
Security
A secret key used to encrypt sensitive values (such as node tokens) before they are stored in the database.Generate a secure value before first launch:
Caches decrypted values in memory and in Valkey to reduce repeated decryption overhead. This improves performance but means plaintext values are held in cache memory.Disable if your security policy requires encrypted values never to be cached outside the database.
Caches short-lived values in process memory in addition to Valkey. Reduces latency for frequently accessed data at the cost of higher memory usage per instance.In multi-node setups, all instances share Valkey, so the internal cache may briefly serve stale data between nodes. Disable if strict cache consistency is required.
Full example
The following is a complete examplecompose.yml environment block with all variables set:
compose.yml
Multi-node considerations
When running more than one panel instance behind a load balancer:- Set
APP_PRIMARY=trueon exactly one instance. All other instances must haveAPP_PRIMARY=false. - All instances must share the same
DATABASE_URLandREDIS_URL. - All instances must use the same
APP_ENCRYPTION_KEY. APP_USE_INTERNAL_CACHE=truemeans each instance has its own memory cache. A brief window of cache inconsistency between instances is possible. Set tofalsefor strict consistency.