Skip to content

Instantly share code, notes, and snippets.

@corusm
Last active November 28, 2020 18:31
Show Gist options
  • Save corusm/40382e18ed9590b44432ff6445ce8576 to your computer and use it in GitHub Desktop.
Save corusm/40382e18ed9590b44432ff6445ce8576 to your computer and use it in GitHub Desktop.
version: '3.7' # 2.2
networks:
main:
external: true
services:
proxy:
image: "traefik:v2.2"
container_name: reverse-proxy
restart: always
command:
- --api=true
- --api.insecure=true
- --ping
- --providers.docker=true
- --providers.docker.network=main
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
- --entrypoints.web-secure.address=:443
- --certificatesresolvers.myhttpchallenge.acme.httpchallenge=true
- --certificatesresolvers.myhttpchallenge.acme.httpchallenge.entrypoint=web
- --certificatesresolvers.myhttpchallenge.acme.caserver=https://acme-v02.api.letsencrypt.org/directory
- --certificatesresolvers.myhttpchallenge.acme.email=postmaster@test.com
- --certificatesresolvers.myhttpchallenge.acme.storage=/letsencrypt/acme.json
ports:
- "80:80"
- "443:443"
networks:
- "main"
volumes:
- ./letsencrypt:/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.proxy-https.rule=Host(`proxy.benschaper.de`)"
- "traefik.http.routers.proxy-https.entrypoints=web-secure"
- "traefik.http.routers.proxy-https.tls=true"
- "traefik.http.routers.proxy-https.service=api@internal"
- "traefik.http.routers.proxy-https.middlewares=traefik-auth"
- "traefik.http.middlewares.traefik-auth.basicauth.users=niklas:$$apr1$$.LOx3R4y$$/OjdUK3pSGiT/flYY42uS1"
# echo $(htpasswd -nb username password) | sed -e s/\\$/\\$\\$/g
- "traefik.http.routers.proxy-http.rule=Host(`proxy.benschaper.de`)"
- "traefik.http.routers.proxy-http.entrypoints=web"
- "traefik.http.routers.proxy-http.middlewares=https_redirect"
- "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.https_redirect.redirectscheme.permanent=true"
whoami:
image: "containous/whoami"
container_name: Traefik-whoami-main
restart: always
networks:
- "main"
labels:
- traefik.enable=true
- traefik.http.routers.whoami.rule=Host(`whoami.benschaper.de`)
- traefik.http.routers.whoami.entrypoints=web
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.whoami.middlewares=redirect-to-https@docker
- traefik.http.routers.whoami-secured.rule=Host(`whoami.benschaper.de`)
- traefik.http.routers.whoami-secured.tls=true
- traefik.http.routers.whoami-secured.tls.certresolver=myhttpchallenge
- traefik.http.routers.whoami-secured.entrypoints=web-secure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment