### services services: # traefik traefik: container_name: traefik-app hostname: traefik-app image: traefik:latest restart: unless-stopped ports: - "80:80" - "443:443" - "8080:8080" volumes: - "/etc/localtime:/etc/localtime:ro" - "./configs/traefik.yml:/etc/traefik/traefik.yml" - "./configs/dynamic:/etc/traefik/dynamic:rw" - "/var/run/docker.sock:/var/run/docker.sock:ro" # - "./certificates/acme.json:/etc/traefik/acme/acme.json:rw" - "./certificates:/var/traefik/certs:rw" - "./certificates:/etc/traefik/ssl:rw" - "./certificates:/certs:ro" - "./logs:/var/log/traefik:rw" networks: - front_network_traefik ipv4_address: 10.0.5.254 - back_network_traefik ipv4_address: 10.0.5.254 environment: - CF_DNS_API_TOKEN=${CF_DNS_API_TOKEN} - CLOUDFLARE_DNS_API_TOKEN_FILE=/run/secrets/cf_token - CLOUDFLARE_HTTP_TIMEOUT=${HTTP_TIMEOUT} - CLOUDFLARE_POLLING_INTERVAL=${POLLING_INTERVAL} - CLOUDFLARE_PROPAGATION_TIMEOUT=${PROPAGATION_TIMEOUT} - CLOUDFLARE_TTL=${TTL} labels: - "com.centurylinklabs.watchtower.enable=true" ### Certificats certificat: container_name: traefik-certificat hostname: traefik-certificat image: alpine:latest command: sh -c "cd /etc/traefik/ssl && wget traefik.me/cert.pem -O cert2.pem && wget traefik.me/privkey.pem -O privkey2.pem" volumes: - "./certificates:/etc/traefik/ssl" networks: - front_network labels: - "com.centurylinklabs.watchtower.enable=true" ### whoami whoami: container_name: traefik-whoami hostname: traefik-whoami image: traefik/whoami:latest restart: unless-stopped command: - --name=externe networks: - front_network labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" - "traefik.docker.network=front_network" # HTTP - "traefik.http.routers.whoami-http.rule=Host(`whoami.tips-of-mine.com`)" - "traefik.http.routers.whoami-http.entrypoints=http" # HTTPS - "traefik.http.routers.whoami-https.rule=Host(`whoami.tips-of-mine.com`)" - "traefik.http.routers.whoami-https.entrypoints=https" - "traefik.http.routers.whoami-https.tls=true" - "traefik.http.routers.whoami-https.service=whoami-service" # Middleware # - "traefik.http.routers.whoami-https.middlewares=forward-auth" # Service - "traefik.http.services.whoami-service.loadbalancer.server.port=80"