2022-12-04 09:35:12 +01:00
|
|
|
version: "3.9"
|
|
|
|
|
|
|
|
networks:
|
|
|
|
proxy:
|
|
|
|
external: true
|
|
|
|
metrics:
|
|
|
|
external: false
|
|
|
|
authelia:
|
|
|
|
external: false
|
|
|
|
|
|
|
|
secrets:
|
|
|
|
jwt:
|
|
|
|
file: ./secrets/authelia_jwt
|
|
|
|
session:
|
|
|
|
file: ./secrets/authelia_session
|
|
|
|
storage:
|
|
|
|
file: ./secrets/authelia_storage
|
|
|
|
smtp:
|
|
|
|
file: ./secrets/authelia_smtp
|
|
|
|
hetzner:
|
|
|
|
file: ./secrets/hetzner_key
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
redis:
|
|
|
|
|
|
|
|
services:
|
|
|
|
authelia:
|
|
|
|
image: authelia/authelia:latest
|
|
|
|
container_name: authelia
|
|
|
|
restart: always
|
|
|
|
secrets:
|
|
|
|
- jwt
|
|
|
|
- session
|
|
|
|
- storage
|
|
|
|
- smtp
|
|
|
|
environment:
|
|
|
|
- TZ=Europe/Berlin
|
|
|
|
- AUTHELIA_JWT_SECRET_FILE=/run/secrets/jwt
|
|
|
|
- AUTHELIA_SESSION_SECRET_FILE=/run/secrets/session
|
|
|
|
- AUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE=/run/secrets/smtp
|
|
|
|
- AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE=/run/secrets/storage
|
|
|
|
volumes:
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
- ./authelia:/config
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.authelia.entrypoints=websecure"
|
|
|
|
healthcheck:
|
|
|
|
disable: true
|
|
|
|
expose:
|
|
|
|
- 9091
|
|
|
|
networks:
|
|
|
|
- proxy
|
|
|
|
- authelia
|
|
|
|
|
|
|
|
authelia-redis:
|
|
|
|
image: redis:alpine
|
|
|
|
container_name: authelia-redis
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
- TZ=Europe/Berlin
|
|
|
|
volumes:
|
|
|
|
- redis:/data
|
|
|
|
expose:
|
|
|
|
- 6379
|
|
|
|
networks:
|
|
|
|
- authelia
|
|
|
|
|
|
|
|
traefik:
|
|
|
|
image: traefik:2.9
|
|
|
|
container_name: traefik
|
|
|
|
restart: always
|
|
|
|
secrets:
|
|
|
|
- hetzner
|
|
|
|
environment:
|
|
|
|
- TZ=Europe/Berlin
|
|
|
|
- HETZNER_API_KEY_FILE=/run/secrets/hetzner
|
|
|
|
volumes:
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
- ./traefik/static.yaml:/etc/traefik/traefik.yaml
|
|
|
|
- ./traefik/dynamic.yaml:/dynamic.yaml
|
|
|
|
- ./secrets/acme.json:/acme.json
|
|
|
|
ports:
|
|
|
|
- "80:80"
|
|
|
|
- "443:443"
|
|
|
|
- "127.0.0.1:8080:8080"
|
|
|
|
networks:
|
|
|
|
- proxy
|
|
|
|
- metrics
|
|
|
|
|
|
|
|
prometheus:
|
|
|
|
image: prom/prometheus:latest
|
|
|
|
container_name: prometheus
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- "./prometheus:/etc/prometheus"
|
|
|
|
expose:
|
2022-12-04 09:40:59 +01:00
|
|
|
- 9090
|
2022-12-04 09:35:12 +01:00
|
|
|
networks:
|
|
|
|
- metrics
|
|
|
|
|
|
|
|
grafana:
|
|
|
|
image: grafana/grafana:latest
|
|
|
|
container_name: grafana
|
|
|
|
restart: always
|
|
|
|
user: "1000"
|
|
|
|
environment:
|
2022-12-04 09:40:59 +01:00
|
|
|
- GF_SECURITY_ADMIN_USER=admin
|
2022-12-04 09:35:12 +01:00
|
|
|
- GF_LOG_LEVEL=error
|
2022-12-04 09:40:59 +01:00
|
|
|
- GF_SERVER_ROOT_URL=https://metrics.tp.example.de
|
2022-12-04 09:35:12 +01:00
|
|
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Editor
|
|
|
|
- GF_LIVE_ALLOWED_ORIGINS=*
|
|
|
|
volumes:
|
|
|
|
- ./grafana:/var/lib/grafana
|
|
|
|
ports:
|
|
|
|
- "127.0.0.1:3000:3000"
|
|
|
|
networks:
|
|
|
|
- metrics
|