Initial Traefik compose stack commit

This commit is contained in:
2026-07-16 20:02:07 -03:00
commit ee4e8804c5
8 changed files with 622 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
services:
traefik:
image: traefik:latest
container_name: traefik
restart: unless-stopped
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ${TRAEFIK_YAML:-./traefik/traefik.yaml}:/etc/traefik/traefik.yaml
- ${TRAEFIK_CONFD:-./traefik/conf.d}:/etc/traefik/conf.d
- traefik-acme:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock
networks:
- docknet
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.api.rule=Host(`${CONSOLE_HOST}`)'
- 'traefik.http.routers.api.entrypoints=websecure'
- 'traefik.http.routers.api.service=api@internal'
- 'traefik.http.routers.api.tls=true'
- 'traefik.http.routers.api.tls.certresolver=letsencrypt'
- 'traefik.http.routers.api.middlewares=traefik-auth'
- 'traefik.http.middlewares.traefik-auth.basicauth.users=${TRAEFIK_CONSOLE_AUTH}'
ports:
- 8342:80
- 8767:443
- 8080:8080
environment:
- CLOUDFLARE_EMAIL=${CLOUDFLARE_EMAIL}
- CLOUDFLARE_API_KEY=${CLOUDFLARE_API_KEY}
command:
- --api
# Enable the Trafik dashboard
- --api.dashboard=true
# Tell Traefik to discover containers using the Docker API
- --providers.docker=true
- --providers.docker.exposedByDefault=false
# Set up LetsEncrypt
- --certificatesresolvers.letsencrypt.acme.dnschallenge=true
- --certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare
- --certificatesresolvers.letsencrypt.acme.email=${CLOUDFLARE_EMAIL}
# Set up an insecure listener that redirects all traffic to TLS
- --entrypoints.web.address=:80
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entrypoints.web.http.redirections.entrypoint.scheme=https
- --entrypoints.websecure.address=:443
# Set up the TLS configuration for our websecure listener
- --entrypoints.websecure.http.tls=true
- --entrypoints.websecure.http.tls.certResolver=letsencrypt
- --log=true
- --log.level=INFO
logging:
driver: "json-file"
options:
max-size: "1m"
networks:
docknet:
name: ${NETWORK_NAME:-docknet}
volumes:
traefik-acme: