- Replace hardcoded placeholders with Docker Compose variables
- docker-compose.yml: Use ${DUCKDNS_SUBDOMAINS}, ${DUCKDNS_TOKEN}, ${DOMAIN}, ${SERVER_IP}
- traefik.yml: Use ${DEFAULT_EMAIL} for ACME email
- users_database.yml: Use ${AUTHELIA_ADMIN_USER}, ${AUTHELIA_ADMIN_EMAIL}, ${AUTHELIA_ADMIN_PASSWORD_HASH}
- sablier/docker-compose.yml: Fix to use ${DOMAIN} instead of {{DUCKDNS_DOMAIN}}
This aligns with the correct strategy:
- Docker-compose files use variables (${VAR})
- .env files use placeholders or actual values
25 lines
748 B
YAML
25 lines
748 B
YAML
services:
|
|
sablier:
|
|
image: acouvreur/sablier:1.7.0
|
|
container_name: sablier
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik-network
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.sablier.rule=Host(`sablier.${DOMAIN}`)"
|
|
- "traefik.http.routers.sablier.entrypoints=websecure"
|
|
- "traefik.http.routers.sablier.tls=true"
|
|
- "traefik.http.routers.sablier.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.sablier.middlewares=authelia@file"
|
|
- "traefik.http.services.sablier.loadbalancer.server.port=10000"
|
|
command:
|
|
- start
|
|
- --provider.name=docker
|
|
|
|
networks:
|
|
traefik-network:
|
|
external: true
|