Ready-to-customize docker-compose.yml files for the common Docker Dash deployment patterns. All seven recipes are also generated live and interactively inside the running app — open System → Tools → Deployment Configurator to set the values for your environment, see the YAML rebuild as you type, and Copy/Download the result.
These static files are the same content the wizard emits, with the recipe defaults baked in — useful for browsing on GitHub.
| Setup | File | Recipe id |
|---|---|---|
| Just trying it out, or behind a LAN-only proxy | compose.standalone.yml |
standalone |
| Want HTTPS with one line, zero config | compose.caddy.yml |
caddy |
| Already running Traefik v3 (plain Compose) | compose.traefik.yml |
traefik |
| Already running Nginx Proxy Manager | compose.npm.yml |
npm |
| Docker Swarm + Traefik | compose.swarm-traefik.yml |
swarm-traefik |
| Need HA (2 replicas + Redis leader election) | compose.ha.yml |
ha |
| Deploying on a Synology DSM NAS | compose.synology.yml |
synology |
Edit the credentials placeholders — at minimum:
ADMIN_PASSWORD— first-login admin password (Docker Dash forces a change on first login regardless, but pick something other than the placeholder).ENCRYPTION_KEY— must be at least 32 characters; this encrypts secrets at rest (git credentials, OIDC client secret, registry passwords, etc.). Rotating it later requires re-entering every stored credential.- For HA:
REDIS_URLpassword must match the--requirepassvalue on the Redis service.
For recipes with a reverse proxy in front (caddy, traefik, npm, swarm-traefik), also set:
PUBLIC_URLtohttps://your.domainso OIDC redirects and absolute links work correctly.- For Caddy: the email under
tls(Let's Encrypt notifications). - For Traefik / Swarm-Traefik: the
network(must exist + be attached to Traefik) andcertResolver(must be configured in your Traefik static config) match your setup.
# Plain Compose
docker compose -f compose.<id>.yml up -d
# Docker Swarm (only for compose.swarm-traefik.yml)
docker stack deploy -c compose.swarm-traefik.yml docker-dash
# Synology DSM
# Container Manager → Project → Create → "Create docker-compose.yml" → paste compose.synology.ymlIf you edit a recipe template in public/js/components/deployment-configurator.js, snapshot the updated examples with:
node scripts/generate-deployment-examples.jsThat's the single source of truth — these files are derived from it. Tests in src/__tests__/deployment-recipes.test.js guarantee every recipe stays parseable.