services: traefik: image: traefik:v3.6 container_name: traefik restart: unless-stopped env_file: ../.env command: - --api.insecure=true - --providers.docker=true - --entrypoints.web.address=:80 - --entrypoints.websecure.address=:443 - --api.dashboard=true - --log.level=INFO # --- 下面是新增的 Let's Encrypt DNS-01 配置 --- # 定义一个名为 "cfresolver" 的证书解析器 - --certificatesresolvers.cfresolver.acme.dnschallenge=true - --certificatesresolvers.cfresolver.acme.dnschallenge.provider=cloudflare # 填入你的真实邮箱,用于接收证书快过期的通知 - --certificatesresolvers.cfresolver.acme.email=LiuXiteng72@gmail.com # 证书保存路径(对应上面 volumes 里的挂载) - --certificatesresolvers.cfresolver.acme.storage=/letsencrypt/acme.json ports: - "80:80" - "443:443" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./letsencrypt:/letsencrypt networks: - homelab_net networks: homelab_net: external: true