# FILE: infra/compose/traefik/compose.yaml # there is another traefik instance in the infra used by the application. # Current instance used for company services on the dev environment. # TODO: Unify the two traefik instances. --- services: traefik: image: docker.io/library/traefik:v3.5.1 container_name: traefik ports: - 80:80 - 443:443 # --> (Optional) Enable Dashboard, don't do in production # - 8080:8080 # <-- volumes: - /run/docker.sock:/run/docker.sock:ro - ./config/:/etc/traefik/:ro - ./certs/:/var/traefik/certs/:rw environment: - CF_DNS_API_TOKEN=your-cloudflare-api-token # <-- Change this to your Cloudflare API Token env_file: - ./.provider.env # contains the GoDaddy API Key and Secret networks: - frontend restart: unless-stopped labels: - traefik.enable=true - traefik.http.middlewares.basicauth.basicauth.users=admin:$2y$05$/B2hjJGytCjjMK4Rah1/aeJofBrzqEnAVoZCMKKwetS9mgmck.MVS - traefik.http.routers.traefik.rule=Host(`traefik.harkon.co.uk`) - traefik.http.routers.traefik.entrypoints=websecure - traefik.http.routers.traefik.tls.certresolver=le - traefik.http.routers.traefik.middlewares=basicauth@docker - traefik.http.routers.traefik.service=api@internal networks: frontend: external: true # <-- (Optional) Change this to false if you want to create a new network #