Skip to content

Environment variables

Set these in the environment: section of Docker Manager’s compose file. None are required: the defaults suit the install example.

Variable Default Meaning
BASE_URL http://localhost:8080 The address you open Docker Manager at. Used for webhook URLs and links in emails.
TZ UTC Time zone for emails and logs, for example Europe/London.
LOG_LEVEL INFO Server log level (DEBUG, INFO, WARN, ERROR).
API_DOCS_ENABLED false Serves the OpenAPI description (/v3/api-docs) and Swagger UI (/swagger-ui). They’re public when on, so they’re off unless you ask.
CORS_ALLOWED_ORIGINS none Only needed to run the UI from another origin during development.
Variable Default in the image Meaning
STACKS_DIR /opt/docker-manager/stacks Where stack files are kept. Mount it at the same path on the host.
GIT_CLONE_DIR /opt/docker-manager/git-repos Where git repositories are checked out. Mount it at the same path on the host.
APP_DATA_DIR /app/database Where the generated secrets are kept, next to the database.

See why the folders use the same path on both sides.

Variable Default Meaning
JWT_ACCESS_SECRET generated Signs sign-in tokens. At least 32 characters.
JWT_REFRESH_SECRET generated Signs the tokens that keep you signed in. At least 32 characters.
ENCRYPTION_KEY generated Encrypts stored credentials (registry passwords, git tokens, SSH keys, the SMTP password). At least 32 characters.
JWT_ACCESS_EXP 900000 (15 minutes) How long a sign-in token lasts, in milliseconds.
JWT_REFRESH_EXP 604800000 (7 days) How long you stay signed in without signing in again, in milliseconds.
DM_RESET_PASSWORD none A user name. At startup that user gets a new temporary password, printed in the log, for when nobody else can reset it. Remove it afterwards. See Troubleshooting.

The secrets are generated on first start and stored in /app/database/.secrets.properties. To manage them yourself, set each to a random value, for example from openssl rand -base64 48. Weak secrets, and the public example values from older versions’ README, are replaced with generated ones.

Variable Default Meaning
DM_CONFIG_FILE none A configuration file to apply at startup and whenever it changes. Without it, use the Configuration page.
DM_CONFIG_RECONCILE_SECONDS 300 How often managed things removed by other means are put back. 0 turns it off.
Variable Default Meaning
DOCKER_HEALTH_MONITOR_ENABLED true Turns health monitoring on or off.
DOCKER_HEALTH_MONITOR_INTERVAL 30000 (30 seconds) How often containers are checked, in milliseconds.
DOCKER_HEALTH_RESTART_THRESHOLD 3 How many restarts within the window count as a restart loop.
DOCKER_HEALTH_RESTART_WINDOW 300000 (5 minutes) The restart loop window, in milliseconds.
DOCKER_HEALTH_NOTIFICATION_COOLDOWN 3600000 (1 hour) The least time between two emails about the same problem, in milliseconds.
Variable Default Meaning
SERVER_PORT 8080 The port the web interface listens on inside the container. The image’s health check uses 8080, so prefer changing the published port ("9000:8080") instead.
DNS_PORT 1053 The port the DNS server listens on inside the container. Publish it as port 53.
SERVER_TOMCAT_REMOTEIP_INTERNALPROXIES private addresses A regular expression of reverse proxies whose X-Forwarded-For and X-Forwarded-Proto headers are trusted. Only needed for a proxy on a public address. See Behind a reverse proxy.

These are set in the image. You rarely need to change them.

Variable Default in the image Meaning
JAVA_OPTS -Xms128m -Xmx512m -XX:+UseSerialGC Options for the Java runtime, such as its memory limit.
SPRING_DATASOURCE_URL jdbc:sqlite:/app/database/data.db?... Where the SQLite database is.