frappe_docker/docs/02-setup/05-overrides.md
RocketQuack 99d9a1dc38
feat: add nginx-proxy with acme companion as an alternative to traefik (#1800)
* refactor: move core nginx files into more recognizable folder structure

* chore: include HTTPS_PUBLISH_PORT in example .env

* feat: add nginx-proxy and acme-companion compose overrides

* docs: add NGINX_PROXY_HOSTS to example.env

* docs: add nginx-proxy overrides

* docs: split docs, variables for usage of traefik or nginx-proxy

* docs: update override notes for traefik proxy on separate stack

* docs: split TLS/SSL overview and add own caddy guide

* docs: add nginx-proxy + acme companion guide

* docs: add nginx-proxy and acme single-server setup guide
2026-02-06 09:56:28 +05:30

7.8 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
TBD The following overrides are available but lack documentation. If you use them and understand their purpose, please consider contributing to this documentation.
compose.backup-cron.yaml
compose.custom-domain-ssl.yaml
compose.custom-domain.yaml
compose.multi-bench-ssl.yaml
compose.multi-bench.yaml