Compose-Examples/examples/traefik
2025-02-19 17:01:48 +01:00
..
docker-compose-command-config.yml chore: Update docker-compose-command-config.yml 2025-02-19 17:01:48 +01:00
docker-compose.yml chore: Update docker-compose.yml 2025-02-19 17:01:30 +01:00
fileConfig.yml Update fileConfig.yml 2024-10-27 12:48:56 +01:00
logrotate_example.txt cleanup repo 2023-02-23 22:33:13 +01:00
README.md docs: Update README.md 2025-02-19 16:46:09 +01:00
traefik.yml chore: use socket-proxy for traefik 2025-02-19 16:13:51 +01:00

References

Notes

Spawning up a Traefik reverse proxy can be done in various ways.

There are options to outsource the Traefik configuration into static and dynamic YAML configuration files. Alternatively, the configuration parameters can be defined directly as command definitions, which are applied during runtime of the Traefik container. We've provided both options as Docker Compose examples.

Please remember to configure logrotation on your Docker host server if you've enabled Traefik access logs. See logrotate_example.txt as example. The logs will increase in size and may cause disk space issues, if not handled properly.

Tip

The provided compose examples make use of a separate socket-proxy container.

Socket Proxy is a security-enhanced proxy, which allows you to apply access rules to the Docker socket, limiting the attack surface for containers such as Traefik that need to use it.

Spawning up Traefik with outsourced configuration files

  1. Put the provided traefik.yml (static) and fileConfig.yml (dynamic) configuration files to your volume bind mount (here /mnt/docker-volumes/traefik).
  2. Add your Cloudflare API token as environment variable to the docker-compose.yml file and define your Cloudflare email address in the traefik.yml file. May adjust to your preferred certresolver. The example given is for Cloudflare, using the ACME DNS challenge to obtain wildcard certificates.
  3. Adjust the static and dynamic configuration files to your needs. Especially replace the example.com strings with your domain name in the traefik.yml static configuration file. Also adjust the authelia and basic auth definitions in the fileConfig.yml dynamic configuration file with secure values and your domain names.

Spawning up Traefik with configuration command definitions

  1. Use the docker-compose-command-config.yml example as a reference point.
  2. Put the provided fileConfig.yml (dynamic) configuration file to your volume bind mount (here /mnt/docker-volumes/traefik).
  3. Add your Cloudflare API token as environment variable in the compose file. Define your Cloudflare email address in the command definitions of the compose file. May adjust to your preferred certresolver. The example given is for Cloudflare, using the ACME DNS challenge to obtain wildcard certificates.
  4. Adjust the dynamic configuration file fileConfig.yml to your needs. Especially adjust the authelia and basic auth definitions with secure values and your domain names.