Skip to content

Instantly share code, notes, and snippets.

@muresan
Created March 7, 2020 16:57
Show Gist options
  • Save muresan/4a07caf110a716cd13a6a3336bc32b76 to your computer and use it in GitHub Desktop.
Save muresan/4a07caf110a716cd13a6a3336bc32b76 to your computer and use it in GitHub Desktop.
Traefik with secured dashboard
version: '3'
services:
webserver:
labels:
- "traefik.enable=true"
- "traefik.http.routers.myservice.rule=Host(`server.example.com`)"
- "traefik.http.routers.myservice.entrypoints=websecure"
- "traefik.http.routers.myservice.tls.certresolver=le"
- 'traefik.http.routers.myservice.middlewares=myservice_addheader'
- 'traefik.http.middlewares.myservice_addheader.headers.customrequestheaders.x-forwarded-proto=https'
- "traefik.http.routers.myservice.middlewares=myservice_redirect"
- "traefik.http.routers.myservice_http.entrypoints=web"
- "traefik.http.routers.myservice_http.rule=Host(`server.example.com`)"
- "traefik.http.routers.myservice_http.middlewares=myservice_redirect"
- "traefik.http.middlewares.myservice_redirect.redirectscheme.scheme=https"
version: "3.3"
services:
image: "traefik:v2.1"
container_name: "traefik"
command:
- "--log.level=INFO"
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker.network=traefik_proxy"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.traefik.address=:8080"
- "--certificatesresolvers.le.acme.httpchallenge=true"
- "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"
#- "--certificatesresolvers.le.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.le.acme.email=hostmaster@example.com"
- "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.rule=Host(`dashboard.example.com`)"
- "traefik.http.routers.traefik.entrypoints=traefik"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.middlewares=traefik_auth"
- "traefik.http.middlewares.traefik_auth.basicauth.users=admin:$$apr1$$ybZ6H./C$$lt9Uja96VYkLAL8CtMReu/"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/data/traefik:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- proxy
networks:
proxy:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment