services: traefik: image: traefik:v2.0.0-rc3 container_name: traefik_traefik restart: unless-stopped ports: - "80:80" - "443:443" command: - "--log.level=DEBUG" - "--api.insecure=true" - "--api.dashboard=true" - "--api.debug=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--providers.docker.network=traefik-network" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--certificatesResolvers.mychallenge.acme.dnschallenge=true" - "--certificatesResolvers.mychallenge.acme.dnschallenge.provider=digitalocean" - "--certificatesResolvers.mychallenge.acme.storage=/letsencrypt/acme.json" - "--certificatesResolvers.mychallenge.acme.email=ardo@odamus.com" - "--metrics.prometheus=true" - "--accesslog" - "--log" - "--api" - "--providers.file.filename=/letsencrypt/dynamic_conf.yml" environment: - DO_AUTH_TOKEN=644121bb69116ae2dec66a50e97a7af3d464aa8a261330dedd7c030b064955ad volumes: - traefik_certs:/letsencrypt - /var/run/docker.sock:/var/run/docker.sock:ro - traefik_tmp:/tmp - ./config/dynamic_conf.yml:/letsencrypt/dynamic_conf.yml:ro networks: - traefik-network - traefik-external labels: - "traefik.http.middlewares.http-to-https.redirectscheme.scheme=https" - "traefik.enable=true" - "traefik.http.routers.api.middlewares=http-to-https" - "traefik.http.routers.api.rule=Host(`traefik.odamus.com`)" - "traefik.http.routers.api.entrypoints=web" - "traefik.http.routers.api.service=api@internal" - "traefik.http.routers.api-secure.rule=Host(`traefik.odamus.com`)" - "traefik.http.routers.api-secure.entrypoints=websecure" - "traefik.http.routers.api-secure.service=api@internal" - "traefik.http.routers.api-secure.tls.certresolver=mychallenge" - "traefik.http.services.traefik-network.loadbalancer.server.port=8080" - "traefik.http.middlewares.admin-auth.basicauth.users=ardo:$$apr1$$U6JrtDD/$$Z9U3bdtKCx2OvOaVNnAw80" - "traefik.http.routers.api-secure.middlewares=admin-auth" volumes: traefik_certs: external: true traefik_tmp: external: true networks: traefik-network: external: true traefik-external: external: true