# Traefik für Docker

Wenn du einen eigenen Server mit Docker aufgesetzt hast (siehe Post) dann ist es sehr sinnvoll deine Anwendungen über https erreichbar zu machen.
Voraussetzung dafür sind
- eigener Server mit Docker (siehe Post)
- eigene Domain
Als aller erstes musst du deine Domain auf deinen Server zeigen lassen:
@ IN A xxx.xxx.xxx.xxx
cloud IN A xxx.xxx.xxx.xxx
www IN CNAME cloud
Danach meldest du dich per SSH auf deinem Server an. Wenn noch nicht geschehen, erstellst du einen Container mit Traefik für die SSL Verschlüsselung. Dabei musst du die E-Mail-Adresse meine@gmail.com im Skript durch deine ersetzen:
sudo docker network create cloud
sudo docker run -itd --restart always \
-p 80:80 -p 443:443 \
--network=cloud \
-v /var/run/docker.sock:/var/run/docker.sock \
-l traefik.enable=true \
-l traefik.http.routers.http-catchall.rule=hostregexp\(\"{host:.+}\"\) \
-l traefik.http.routers.http-catchall.entrypoints=web \
-l traefik.http.routers.http-catchall.middlewares=redirect-to-https@docker \
-l traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https \
--name traefik traefik:v2.1 \
--api.dashboard=false --entrypoints.web.address=:80 --entrypoints.websecure.address=:443 \
--providers.docker=true --providers.docker.exposedbydefault=false \
--certificatesresolvers.letsencrypt.acme.httpchallenge=true \
--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web \
--certificatesresolvers.letsencrypt.acme.email=meine@gmail.com \
--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
