traefik-vorbereitung

Änderungsstand: 2020-05-23

Ich arbeite experimetell mit einem 64bit (arm8) System. Alle Script-Befehle in diesem Guide sind aber für ein normales arm7 ausgelegt! Ich verwende für diesen Guide einen Raspberry 4 mit Debian Buster Lite als Betriebssystem ohne grafische Oberfläche. Das System wurde neu installiert und komplett aktualisiert. Da ich momentan keine ext. Festplatte zur Verfügung habe, benutze ich das /var/lib Verzeichnis.

Dieser Raspi wird später als Server mit traefik2 als Reverse-Proxy eingerichtet, mit zertifizierten SSL – Zugriff von aussen und ohne separater Serversoftware. Einige Vorbereitungen. Ich installiere einige Programme nach, die ich im späteren Verlauf noch benötige. Dann installiere ich Portainer und DuckDNS. Mit Portainer kann ich schnell meine Docker-Konfigurationen überprüfen, ohne das Terminal zu verwenden. Im nächsten Guide wird dann traefik, ssl, und Nextcloud, jeweils als Docker, Step by Step installiert.

Zu Beginn erstelle ich ein DuckDNS-Konto um einen DynDns-Dienst zu haben. Dort erstelle ich 1 Hostnamen.

Jetzt installiere ich folgende Sachen:

sudo apt install docker docker-compose curl jq

portainer:

Jetzt installiere ich den ersten Docker. Das wird Portainer sein. Ich erstelle meine Docker-*.yml Dateien im /home/dockervolumes-Verzeichnis:

sudo mkdir /home/dockervolumes

Nun folgende Befehle im Terminal eingeben ( Ordner wird erstellt und die *.yml wird dort geöffnet).

sudo mkdir /home/dockervolumes/portainer
cd /home/dockervolumes/portainer && sudo nano docker-compose.yml

Folgendes dort einfügen (vorher Eure Werte überprüfen):

version: '2'
 
services:
  portainer:
    image: portainer/portainer
    command: -H unix:///var/run/docker.sock
    restart: always
    ports:
      - 9000:9000
      - 8000:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/PortainerData:/data

Speichern mit Strg-x, y, Enter

Quelle: https://portainer.readthedocs.io/en/latest/deployment.html

Anschließend die „yml“ starten mit

cd /home/dockervolumes/portainer && sudo docker-compose up -d

Mit IP-Adresse:9000 kann man die Portainer-Web-Oberfläche im Browser starten. Auf die Funktionsweise des Portainers gehe ich hier nicht ein.

duckdns:

Meine verwendete Domain in diesen 2 Guides ist knilix.duckdns.org.

sudo mkdir -p /home/dockervolumes/duckdns
nano /home/dockervolumes/duckdns/docker-compose.yml
---
version: "2"
services:
  duckdns:
    image: linuxserver/duckdns
    container_name: duckdns
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - SUBDOMAINS=knilix
      - TOKEN=DASTOKEN
      - LOG_FILE=true
    volumes:
      - /var/lib/DuckdnsConfig:/config
    restart: unless-stopped

STRG-x, y, Enter

Quelle: https://hub.docker.com/r/linuxserver/duckdns

Anschließend die „yml“ starten:

cd /home/dockervolumes/duckdns &&sudo docker-compose up -d

Die Vorbereitungen wären abgeschlossen. Jetzt zu traefik2.