82 lines
2.9 KiB
YAML
82 lines
2.9 KiB
YAML
networks:
|
|
traefik_proxy:
|
|
external: true
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:latest
|
|
container_name: traefik
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- ./data/traefik:/etc/traefik
|
|
environment:
|
|
- DOCKER_API_VERSION=1.45
|
|
command:
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.websecure.address=:443"
|
|
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
|
|
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
|
|
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
|
|
- "--certificatesresolvers.myresolver.acme.email=frankberger85@gmail.com"
|
|
- "--certificatesresolvers.myresolver.acme.storage=/etc/traefik/acme.json"
|
|
networks:
|
|
- traefik_proxy
|
|
|
|
authelia:
|
|
image: authelia/authelia:latest
|
|
container_name: authelia
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./config:/config
|
|
networks:
|
|
- traefik_proxy
|
|
environment:
|
|
- AUTHELIA_JWT_SECRET=${AUTHELIA_JWT_SECRET}
|
|
- AUTHELIA_SESSION_SECRET=${AUTHELIA_SESSION_SECRET}
|
|
- AUTHELIA_STORAGE_ENCRYPTION_KEY=${AUTHELIA_STORAGE_ENCRYPTION_KEY}
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.authelia.rule=Host(`auth.brabros.de`)"
|
|
- "traefik.http.routers.authelia.entrypoints=websecure"
|
|
- "traefik.http.routers.authelia.tls.certresolver=myresolver"
|
|
- "traefik.http.middlewares.authelia.forwardauth.address=http://authelia:9091/api/verify?rd=https://auth.brabros.de/"
|
|
- "traefik.http.middlewares.authelia.forwardauth.trustForwardHeader=true"
|
|
- "traefik.http.middlewares.authelia.forwardauth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Name,Remote-Email"
|
|
- "traefik.http.services.authelia.loadbalancer.server.port=9091"
|
|
- "traefik.docker.network=traefik_proxy"
|
|
homer:
|
|
image: b4bz/homer:latest
|
|
container_name: homer
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./data/homer:/www/assets
|
|
networks:
|
|
- traefik_proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.homer.rule=Host(`dashboard.brabros.de`)"
|
|
- "traefik.http.routers.homer.entrypoints=websecure"
|
|
- "traefik.http.routers.homer.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.homer.middlewares=authelia@docker"
|
|
|
|
uptime-kuma:
|
|
image: louislam/uptime-kuma:1
|
|
container_name: uptime-kuma
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./data/uptime-kuma:/app/data
|
|
networks:
|
|
- traefik_proxy
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.uptime.rule=Host(`status.brabros.de`)"
|
|
- "traefik.http.routers.uptime.entrypoints=websecure"
|
|
- "traefik.http.routers.uptime.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.uptime.middlewares=authelia@docker"
|