diff --git a/public/anleitungen/traefik.html b/public/anleitungen/traefik.html index 20cf105..3284393 100644 --- a/public/anleitungen/traefik.html +++ b/public/anleitungen/traefik.html @@ -11,7 +11,110 @@
- +

In der folgenden Anleitung werde ich darauf eingehen, wie man eine VM mit alpine Linux aufsetzt, darauf + Docker installiert und dann als Container einen Traefik 2 reverse Proxy.

+

Als erstes muss eine neue VM erstellt werden und als Boot Medium Alpine Linux eingelegt werden. Wenn die ISO + gebootet ist kommt ein Login Fenster, hier einfach mit dem Benutzer root + anmelden. Danach sollte ein Terminal Prompt kommen. Um Alpine zu installieren muss der Befehl setup-alpine eingegeben werden. Hierbei gilt es zu beachten, dass die ISO + ein englisches Tastaturlayout benutzt. Der Bindestrich liegt hier auf dem ß. Als erstes muss nun im Setup + das Tastaturlayout angegeben werden, um dieses auf Deutsch festzulegen zwie mal de eingeben. + Nachdem die Tastatur geändert wurde muss der Hostname festgelegt werden, meine VM heißt einfach docker. In der darauffolgenden Netzwerkkonfiguration muss als erstes der + Name des zu konfigurierendes Netzwerkinterfaces angegeben werden (meist eth0) + Im darauffolgenden Schritt wird die Methode der IP konfiguration angegeben. Im Folgenden setze ich hier auf + DHCP. Nachdem das root Passwort (welches mit einem Passwortgenerator + generiert wurde) festgelegt wurde muss die Zeitzone angegeben werden. Für Deutschland ist + diese Europe/Berlin. Einen Proxy brauchen wir nicht, genauso wie beim + mirror können wir einfach mit enter bestätigen. Der SSH Server kann auch bei openssh belassen werden. + Nachdem nun die Grundkonfiguration im Installer abgeschlossen ist, muss noch die Festplatte angegeben + werden. Dafür wird eine Liste an erkannten Platten angezeigt. In meinem Fall war dies sda und danach noch der Typ. Dies ist sys, + da das System auf die Platte installiert wird. Nach der Installation muss das System nochmal neugestartet + werden. +

+ +

+ Wenn das System nun von der Festplatte gebootet hat kann man sich mit dem Benutzer root und dem zuvor gewählten Passwort anmelden. Danach muss als erstes das + System auf den neuesten Stand gebracht werden und ein paar tool installiert werden. Dazu die beiden unten + ausfgeführten Befehle eingeben. +

+apk update
+apk upgrade
+apk add nano htop git
+
+ Um nun Docker zu installieren muss als erstes die Community repo aktiviert werden. Dazu mit nano die Datei /etc/apk/repositories öffnen + und in der Zeile, welche mit community endet das # am Anfang entfernen. (Nicht in den Zeilen mit edge im URL) Danach kann Docker installiert werden. +

+
+nano /etc/apk/repositories
+apk update
+apk add docker docker-compose
+rc-update add docker
+/etc/init.d/docker start
+
+

+ Nun ist Docker auf unserem System installiert und kann eingesetzt werden. Um Traefik 2 nun einzusetzen muss + als erstes meine Vorlage von hier + heruntergeladen werden. Danach muss in der Datei config/traefik.yml unter + letsencrypt => acme => email die E-Mail Adresse festgelegt werden, welche für letsencrypt verwendet werden + soll. Danach noch die Berechtigungen von der Zertifikatsdatei einschränken. Bevor wir traefik starten könenn + müssen wir noch ein Netzwerk namens web angelegt werden. Nachdem nun + alles vorbereit wurde kann dieser mit + docker-compose up gestartet werden. +

+
+git clone https://gitlab.jonasled.de/jonasled/traefik-config
+cd traefik-config
+nano config/traefik.yml
+chmod 600 letsencrypt/acme.json
+docker network create web
+docker-compose up
+# Wenn alles läuft strg und c drücken
+docker-compose up -d
+
+

+ Traefik ist nun installiert und sollte von außen erreichbar sein. Als Antwort sollte bei nicht bekannten + Domains immer ein 404 Fehler kommen. Zum testen setzen wir als nächstes den whoami Docker Container auf, + dieser ist nur wenige kb groß und bietet einen minimalen Webserver. Dazu muss als erstes die unten + angehängte docker-compose auf dem Host in einem neuen Ordner unter dem Namen docker-compose.yml abspeichern und den Host anpassen. Danach kann der + Container mit docker-compose up gestartet werden. Nun sollte nach 1-2 + Minuten auf dem zuvor angegebenen Domain die 404 Meldung durch eine Seite ersetzt werden. Falls dies nicht + der Fall ist kann im Ordner, in dem der Traefik abgelegt wurde der Befehl docker-compose logs -f ausgeführt werden um den Fehlerlog zu überprüfen. +

+
+version: "3.2"
+services:
+    whoami:
+    image: containous/whoami
+    restart: unless-stopped
+    networks:
+        - web
+    labels:
+        - traefik.http.routers.whoami-https.rule=Host(`whoami.jonasled-test.xyz`)
+        - traefik.http.routers.whoami-https.entrypoints=https
+        - traefik.http.routers.whoami-https.tls=true
+        - traefik.http.routers.whoami-https.tls.certresolver=letsencrypt
+        - traefik.http.services.whoami.loadbalancer.server.port=80
+
+networks:
+    web:
+    external: true
+
+

+ Um die Konfigurationen für den Traefik Server zu erstellen verwende nutze ich ein kleines selber + geschriebenes Tool, welches hier erreichbar ist. +