mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 21:55:09 +00:00
- docs/02-setup/09-architecture.md: explain the one-image-many-containers pattern, configurator lifecycle, request flow, assets-volume requirement, and Redis durability split - docs/04-operations/02-makefile.md: document all make targets, variables, first-run checklist, and update workflow - docs/02-setup/05-overrides.md: fill in TBD entries for assets-volume, backup-cron, multi-bench, and custom-domain overrides - Makefile: add missing mariadb/redis/noproxy/backup-cron overrides to COMPOSE_OVERRIDES so make up starts a working stack Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8.9 KiB
8.9 KiB
Overrides extend the base compose.yaml with additional services or modify existing behavior. Include them in your compose command using multiple -f flags.
docker compose -f compose.yaml -f overrides/compose.mariadb.yaml -f overrides/compose.redis.yaml config > compose.custom.yaml
| Overrider | Purpose | Additional Info |
|---|---|---|
| Database | ||
| compose.mariadb.yaml | Adds MariaDB database service | set DB_PASSWORD or default Password will be used |
| compose.mariadb-secrets.yaml | Adds MariaDB with password from a secret file instead of environment variable | Set DB_PASSWORD_SECRETS_FILE to the path of your secret file |
| compose.mariadb-shared.yaml | Makes MariaDB available on a shared network (mariadb-network) for other services | set DB_PASSWORD |
| compose.postgres.yaml | Uses PostgreSQL instead of MariaDB as the database | set DB_PASSWORD |
| Proxy | ||
| compose.noproxy.yaml | Exposes the application directly on port :8080 without a reverse proxy |
|
| compose.proxy.yaml | Uses Traefik as HTTP reverse proxy on port :80 |
You can change the published port by setting HTTP_PUBLISH_PORT |
| compose.https.yaml | Uses Traefik as HTTPS reverse proxy on Port :443 with automatic HTTP-to-HTTPS redirect |
SITES_RULE and LETSENCRYPT_EMAIL must be set. HTTP_PUBLISH_PORT and HTTPS_PUBLISH_PORT can be set. |
| compose.traefik.yaml | Runs a standalone Traefik proxy with dashboard (HTTP) on a shared traefik-public network |
Use for multi-stack setups. Requires TRAEFIK_DOMAIN and HASHED_PASSWORD. |
| compose.traefik-ssl.yaml | Adds HTTPS and Let's Encrypt for the Traefik dashboard | Use with compose.traefik.yaml. Requires EMAIL and TRAEFIK_DOMAIN. Publishes HTTPS_PUBLISH_PORT. |
| compose.nginxproxy.yaml | Uses nginx-proxy as HTTP reverse proxy on port :80 |
Set NGINX_PROXY_HOSTS. Use with compose.nginxproxy-ssl.yaml for HTTPS. You can change the published port by setting HTTP_PUBLISH_PORT |
| compose.nginxproxy-ssl.yaml | Adds acme-companion for HTTPS on port :443 with automatic certificates |
Requires compose.nginxproxy.yaml. Set NGINX_PROXY_HOSTS and LETSENCRYPT_EMAIL. HTTP_PUBLISH_PORT and HTTPS_PUBLISH_PORT can be set. |
| Redis | ||
| compose.redis.yaml | Adds Redis service for caching and background job queuing | |
| Assets / ERPNext | ||
| compose.assets-volume.yaml | Adds a shared assets volume mounted to all service containers. Required for ERPNext — without it nginx returns 404 for all static files |
Must be included whenever ERPNext or any app with compiled frontend assets is installed |
| Backups | ||
| compose.backup-cron.yaml | Adds Ofelia cron container that runs bench --site all backup on a schedule |
Set BACKUP_CRONSTRING in .env (default @every 6h). Uses Docker label-based job config on the scheduler container |
| Multi-bench / Custom domain | ||
| compose.multi-bench.yaml | Connects all services to a named bench-network and shared mariadb-network, exposes frontend to Traefik via ROUTER and SITES_RULE |
For running multiple Frappe stacks behind a single Traefik instance. Requires ROUTER, SITES_RULE. Use with compose.traefik.yaml |
| compose.multi-bench-ssl.yaml | Adds HTTPS routing rules to the multi-bench setup | Use together with compose.multi-bench.yaml and compose.traefik-ssl.yaml |
| compose.custom-domain.yaml | Adds a Caddy sidecar that reverse-proxies a custom domain to frontend:8080 and registers it with Traefik |
Requires ROUTER, SITES_RULE, BASE_SITE. For mapping an additional hostname to a site in a multi-bench setup |
| compose.custom-domain-ssl.yaml | Adds HTTPS to the custom-domain Caddy sidecar | Use together with compose.custom-domain.yaml |