services: traefik: image: traefik:v3.6 container_name: traefik restart: unless-stopped security_opt: - no-new-privileges:true command: - "--api.dashboard=true" - "--api.insecure=false" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entrypoint.to=websecure" - "--entrypoints.web.http.redirections.entrypoint.scheme=https" - "--entrypoints.websecure.address=:443" - "--entrypoints.websecure.http.tls.certresolver=letsencrypt" - "--entrypoints.websecure.http.tls.domains[0].main=home.jens.pub" - "--entrypoints.websecure.http.tls.domains[0].sans=*.home.jens.pub" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--providers.docker.endpoint=unix:///var/run/docker.sock" - "--certificatesresolvers.letsencrypt.acme.email=mail@jens.pub" - "--certificatesresolvers.letsencrypt.acme.storage=/acme.json" - "--certificatesresolvers.letsencrypt.acme.dnschallenge=true" - "--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=namecheap" - "--certificatesresolvers.letsencrypt.acme.dnschallenge.resolvers=1.1.1.1:53,8.8.8.8:53" ports: - "80:80" - "443:443" environment: - NAMECHEAP_API_USER=jsbeckr - NAMECHEAP_API_KEY=a2d922b7d4e245dc9f146ab6448c7dd2 - NAMECHEAP_SOURCE_IP=79.219.109.215 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - traefik_acme:/acme networks: - proxy labels: - "traefik.enable=true" - "traefik.http.routers.traefik.rule=Host(`traefik.home.jens.pub`)" - "traefik.http.routers.traefik.entrypoints=websecure" - "traefik.http.routers.traefik.service=api@internal" volumes: traefik_acme: networks: proxy: external: true