# 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
Last Updated: 9/6/2021, 9:06:41 PM