services: pangolin: image: fosrl/pangolin:1.3.1 container_name: pangolin restart: unless-stopped networks: - reverse-proxy volumes: - ./config:/app/config healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3001/api/v1/"] interval: "10s" timeout: "10s" retries: 15 traefik: image: traefik:v3.3.6 container_name: traefik restart: unless-stopped environment: CLOUDFLARE_DNS_API_TOKEN: "JSXyIqcHpMvDiIoZfQmlH7R2f6dKW92O8Buz_x3X" networks: - reverse-proxy ports: - 443:443 - 80:80 depends_on: pangolin: condition: service_healthy command: - --configFile=/etc/traefik/traefik_config.yml volumes: - ./config/traefik:/etc/traefik:ro # Volume to store the Traefik configuration - ./config/letsencrypt:/letsencrypt # Volume to store the Let's Encrypt certificates - ./config/traefik/logs:/var/log/traefik # Volume to store Traefik logs whoami: image: traefik/whoami container_name: whoami networks: - reverse-proxy networks: authentik: name: authentik reverse-proxy: external: true