Files
Infra/traefik/docker-compose.yml
2026-06-06 21:01:24 +02:00

46 lines
1.5 KiB
YAML

services:
traefik:
image: traefik:v3.0
container_name: traefik
restart: unless-stopped
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.docker.network=proxy
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
# Redirection HTTP -> HTTPS
- --entrypoints.web.http.redirections.entryPoint.to=websecure
- --entrypoints.web.http.redirections.entryPoint.scheme=https
# Let's Encrypt (HTTP-01)
- --certificatesresolvers.le.acme.email=cedric@goutailler-olivier.com
- --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.le.acme.httpchallenge=true
- --certificatesresolvers.le.acme.httpchallenge.entrypoint=web
- --entrypoints.ssh.address=:2222
# (Optionnel) Dashboard interne
- --api.dashboard=true
ports:
- "80:80"
- "443:443"
- "2222:2222"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik-letsencrypt:/letsencrypt
networks:
- proxy
environment:
- TZ=Europe/Paris
labels:
- traefik.enable=true
- traefik.http.routers.traefik.rule=Host(`traefik.goutailler-olivier.com`)
- traefik.http.routers.traefik.entrypoints=websecure
- traefik.http.routers.traefik.tls.certresolver=le
- traefik.http.routers.traefik.service=api@internal
networks:
# nextcloud-net:
# driver: bridge
proxy:
external: true
name: proxy