Environment variables¶
Every scalar/list setting in DUMB's configuration can be overridden at startup with an environment variable or Docker secret. Service subprocess variables are separately defined under each service's env block.
Container variables¶
| Variable | Default | Description |
|---|---|---|
PUID |
1000 |
Managed-service user ID; must be greater than 0 |
PGID |
1000 |
Managed-service group ID; must be greater than 0 |
TZ |
unset | Time zone (for example America/New_York) |
DUMB_PNPM_STORE_ROOT |
/config/.pnpm-store |
Persistent pnpm package store root used during service setup/builds. Override only if /config is not suitable. |
DUMB_BUN_CACHE_ROOT |
/config/.bun-cache |
Persistent Bun package cache root used during Bun-based service setup/builds, such as Pulsarr. Override only if /config is not suitable. |
DUMB_YARN_CACHE_ROOT |
/config/.yarn-cache |
Persistent Yarn package cache root used during source builds, such as Maintainerr. Override when /config is on slower network storage. |
Root IDs are rejected
DUMB's controller starts with the container privileges needed to prepare users, ownership, devices, and mounts, then launches managed services with PUID and PGID. DUMB refuses to start when either value is 0; choose a non-root host user and group that can access the mounted paths.
Complete generated reference
The repository's .env.example is generated from the current config template and contains the complete default set. The table above calls out bootstrap/cache variables operators commonly set directly.
Config override naming¶
DUMB joins a configuration path with underscores and uppercases it:
| Config path | Override name |
|---|---|
puid |
PUID |
dumb.github_token |
DUMB_GITHUB_TOKEN |
dumb.api_service.host |
DUMB_API_SERVICE_HOST |
altmount.port |
ALTMOUNT_PORT |
infinidysk.frontend_port |
INFINIDYSK_FRONTEND_PORT |
sonarr.instances.Default.port |
SONARR_INSTANCES_DEFAULT_PORT |
Lists and objects must be valid JSON, such as DUMB_METRICS_FILESYSTEM_PATHS=["/","/mnt/debrid"].
Sources and precedence¶
For a config override named DUMB_API_SERVICE_HOST, DUMB checks:
/run/secrets/DUMB_API_SERVICE_HOST- The process/container environment
/config/.env- The value in
/config/dumb_config.json
Blank environment values do not replace configured values. Docker secrets are read as trimmed text and have the highest priority.
InfiniDysk upgrade compatibility
Fresh configurations use the INFINIDYSK_* prefix. Existing deployments
may continue supplying legacy NZBDAV_* overrides or Docker secrets;
DUMB checks those names as fallbacks until the deployment opts into the
canonical persisted identity.
Service environment variables¶
Each service can define variables passed to that subprocess under its env block in /config/dumb_config.json. These are service runtime variables, not names for overriding DUMB's own config tree.
Example:
"infinidysk": {
"env": {
"WEBDAV_USER": "admin",
"WEBDAV_PASSWORD": "change-me"
}
}
Secrets in config files
Treat tokens and passwords in dumb_config.json as secrets. Avoid committing them to source control.