Ä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.