Die OCIS-Entwickler bieten eine auf Docker basierte Umgebung an, die auch das Thema SSL-Verschlüsselung abdeckt. Damit sich die OCIS-Abbilder für Docker nutzen lassen, müssen Sie zuvor Raspberry Pi OS fit für Docker sowie für Docker-compose machen. Weil es in der Community mittlerweile eine Vielzahl von Entwicklern gibt, die für ihre Arbeit ähnliche Setups nutzen, stellt das Einrichten einer funktionalen Docker-Umgebung auf dem Mini-Rechner keine wirkliche Hürde mehr dar.
Docker
Loggen Sie sich als pi per SSH ein und holen Sie sich mittels sudo -i Root-Rechte. Dann laden Sie von Docker.com ein Skript, das die auf dem System existierenden Paketquellen für Apt so erweitert, dass anschließend die Community-Edition von Docker zur Verfügung steht (Listing 1, erste Zeile). Nun fügen Sie den Benutzer pi noch der Gruppe docker hinzu (zweite Zeile). Um die Änderungen zu übernehmen, rebooten Sie das System danach.
Neben Docker selbst braucht das hier beschriebene Szenario auch Docker-compose, das allerdings nicht in den Docker-Repositories bereitsteht. Hier ist ein wenig Handarbeit angesagt: Installieren Sie zunächst die benötigten Bibliotheken (Listing 1, Zeile 4). Richten Sie im nächsten Schritt auch die Header für Python-3-Module (Zeile 5) sowie Pip (Zeile 6) ein. Zu guter Letzt holen Sie dann Docker-compose selbst auf das System (Zeile 7). Im Anschluss legen Sie noch fest, dass Systemd Docker und die entsprechend konfigurierten Container beim Systemstart automatisch ins Leben ruft (Zeile 8).
Listing 1
Docker einrichten
# curl -sSL https://get.docker.com | sh # usermod -G docker pi [... Reboot ...] $ sudo apt install libffi-dev libssl-dev $ sudo apt install python3-dev $ sudo apt-get install -y python3 python3-pip $ sudo pip3 install docker-compose $ sudo systemctl enable docker
Festplatte einbinden
Als Datentank für Owncloud dient in unserem Beispiel eine externe Festplatten. Das meist ab Werk verwendete Dateisystem VFAT oder NTFS ergibt in diesem Kontext keinen Sinn, weil die Platte ausschließlich unter Linux zum Einsatz kommt. Das Kommando sudo lsblk zeigt die angeschlossenen Blockgeräte an, hier sollte die USB-Platte auftauchen. Mit mkfs.ext4 Laufwerk -L DATA erhält sie ein Ext4-Dateisystem. Ersetzen Sie dabei Laufwerk durch den Pfad zur Festplatte, etwa /dev/sdb1. Je nach Art und Modell der Festplatten ergeben sich bei diesem Prozess Unterschiede – passen Sie die Kommandos also gegebenenfalls an die lokale Umgebung an.
Der -L-Parameter im Mkfs-Kommando versieht das neuen Dateisystem mit einem Label, im Beispiel DATA, mit dem sich die Platte zukünftig per /etc/fstab automatisch einbinden lässt. Öffnen Sie fstab als Nutzer Root in einem Editor und fügen Sie eine Zeile nach Muster aus Listing 2 hinzu
Listing 2
Fstab-Eintrag
LABEL=DATA /srv/data ext4 auto,defaults 0 0
Stellen Sie mit mkdir -p /srv/data und chown -R pi:pi /srv/data sicher, dass das angegebene Verzeichnis existiert und der Standard-User darauf zugreifen darf. Läuft mount -a ohne Fehlermeldung durch, funktioniert das Setup, ein mount sollte das eingehängte Dateisystem nun auch anzeigen. Beachten Sie, dass ab diesem Zeitpunkt beim Booten des Raspberry Pi eine Fehlermeldung erscheint, wenn die Festplatte nicht angeschlossen oder ausgeschaltet ist.
Damit Docker das Volume später verwendet, legen Sie es in Docker so an, dass es dort den Namen ocis-data nutzt (Listing 3).
Listing 3
Docker-Volume anlegen
$ docker volume create --driver local --opt type=none --opt device=/srv/data --opt o=bind ocis-data
DynDNS-Account anlegen
Als Nächstes gilt es, den RasPi von außen zuverlässig erreichbar zu machen. Auch ohne 24-Stunden-Zwangstrennung benötigen Sie dazu einen DynDNS-Eintrag (dynamisches DNS), weil nicht selbst signierte SSL-Zertifikate die Verbindung zwischen Clients und dem Raspberry Pi absichern sollen, sondern solche von Let’s Encrypt. Allerdings stellt Let’s Encrypt keine Zertifikate für IP-Adressen aus, sondern nur solche für Domain-Namen – deswegen benötigen Sie zwingend einen solchen.
Einen DynDNS-Account gibt es gegen Registrierung zum Beispiel von Anbietern wie No-IP [4]. Im No-IP-Webinterface (Abbildung 2) legen Sie unter dem Menüpunkt Quick Add einen Host-Namen an, in unserem Beispiel ocis-at-home an der Domäne ddns.net.

Abbildung 2: No-IP.com bietet kostenlos DynDNS-Einträge an, mit denen sich auch dynamische IP-Adressen über einen statischen Host-Namen ansteuern lassen.
DynDNS-Client installieren
Wechseln Sie zurück auf die Kommandozeile des Raspberry Pi und richten Sie zunächst die für die Installation des No-IP-Clients notwendigen Softwarepakete ein (Listing 4, erste Zeile). Dann laden Sie den No-IP-Client herunter und entpacken ihn (Zeile 2 und 3). Benennen Sie den neuen Unterordner in noip/ um und wechseln Sie in diesen (Zeile 4). Dort übersetzen und installieren Sie den Client (Zeile 5). Am Ende des Installationsvorgangs müssen Sie Ihre Zugangsdaten angeben, die E-Mail-Adresse, Passwort und Subdomäne umfassen. Hier legen Sie auch das Intervall fest, in dem der No-IP-Client die IP-Adresse hinter dem dynamischen Host-Namen aktualisiert.




