docker-compose.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. services:
  2. traefik:
  3. image: traefik:v2.0.0-rc3
  4. container_name: traefik_traefik
  5. restart: unless-stopped
  6. ports:
  7. - "80:80"
  8. - "443:443"
  9. command:
  10. - "--log.level=DEBUG"
  11. - "--api.insecure=true"
  12. - "--api.dashboard=true"
  13. - "--api.debug=true"
  14. - "--providers.docker=true"
  15. - "--providers.docker.exposedbydefault=false"
  16. - "--providers.docker.network=traefik-network"
  17. - "--entrypoints.web.address=:80"
  18. - "--entrypoints.websecure.address=:443"
  19. - "--certificatesResolvers.mychallenge.acme.dnschallenge=true"
  20. - "--certificatesResolvers.mychallenge.acme.dnschallenge.provider=digitalocean"
  21. - "--certificatesResolvers.mychallenge.acme.storage=/letsencrypt/acme.json"
  22. - "--certificatesResolvers.mychallenge.acme.email=ardo@odamus.com"
  23. - "--metrics.prometheus=true"
  24. - "--accesslog"
  25. - "--log"
  26. - "--api"
  27. - "--providers.file.filename=/letsencrypt/dynamic_conf.yml"
  28. environment:
  29. - DO_AUTH_TOKEN=644121bb69116ae2dec66a50e97a7af3d464aa8a261330dedd7c030b064955ad
  30. volumes:
  31. - traefik_certs:/letsencrypt
  32. - /var/run/docker.sock:/var/run/docker.sock:ro
  33. - traefik_tmp:/tmp
  34. - ./config/dynamic_conf.yml:/letsencrypt/dynamic_conf.yml:ro
  35. networks:
  36. - traefik-network
  37. - traefik-external
  38. labels:
  39. - "traefik.http.middlewares.http-to-https.redirectscheme.scheme=https"
  40. - "traefik.enable=true"
  41. - "traefik.http.routers.api.middlewares=http-to-https"
  42. - "traefik.http.routers.api.rule=Host(`traefik.odamus.com`)"
  43. - "traefik.http.routers.api.entrypoints=web"
  44. - "traefik.http.routers.api.service=api@internal"
  45. - "traefik.http.routers.api-secure.rule=Host(`traefik.odamus.com`)"
  46. - "traefik.http.routers.api-secure.entrypoints=websecure"
  47. - "traefik.http.routers.api-secure.service=api@internal"
  48. - "traefik.http.routers.api-secure.tls.certresolver=mychallenge"
  49. - "traefik.http.services.traefik-network.loadbalancer.server.port=8080"
  50. - "traefik.http.middlewares.admin-auth.basicauth.users=ardo:$$apr1$$U6JrtDD/$$Z9U3bdtKCx2OvOaVNnAw80"
  51. - "traefik.http.routers.api-secure.middlewares=admin-auth"
  52. volumes:
  53. traefik_certs:
  54. external: true
  55. traefik_tmp:
  56. external: true
  57. networks:
  58. traefik-network:
  59. external: true
  60. traefik-external:
  61. external: true