42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
services:
|
|
traefik:
|
|
image: traefik:3.5.4
|
|
container_name: ${STACK_NAME?Variable not set}_traefik
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- "80:80"
|
|
- "8080:8080"
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=proxy
|
|
- traefik.constraint-label=proxy
|
|
- traefik.http.services.${STACK_NAME?Variable not set}-proxy.loadbalancer.server.port=8080
|
|
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy.rule=Host(`traefik.${DOMAIN?Variable not set}`)
|
|
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy.entrypoints=web
|
|
command:
|
|
# === Providers ===
|
|
- --providers.docker=true
|
|
- --providers.docker.exposedbydefault=false
|
|
- --providers.docker.network=proxy
|
|
|
|
# === Entrypoints ===
|
|
- --entrypoints.web.address=:80
|
|
- --entrypoints.internal.address=:8000
|
|
|
|
# === API and Dashboard ===
|
|
- --api.dashboard=true
|
|
- --api
|
|
- --accesslog
|
|
- --log
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
networks:
|
|
- proxy
|
|
|
|
|
|
networks:
|
|
proxy:
|
|
name: proxy
|