Portainer auf der Synology DiskStation
Einleitung
Nachdem ich in meinem letzten Beitrag schon Einiges allgemein über Portainer geschrieben habe, möchte ich dir in diesem Tutorial zeigen, wie du Portainer speziell auf deine Synology DiskStation bekommst. Dabei werden wir sogar komplett auf die Kommandozeile verzichten. :) Zunächst aber wie üblich die…
Voraussetzungen
Natürlich benötigst du eine Synology DiskStation, oder etwas allgemeiner, ein NAS auf dem der Synology DiskStation Manager (DSM) ausgeführt wird. Dabei ist es unerheblich ob dein System noch auf DSM 6, oder bereits mit DSM 7 arbeitet. Hauptsache ist, dass dein NAS das Docker Paket von Synology unterstützt (siehe Liste der Unterstützten Modelle).
Da die Installation des Docker Pakets in der Regel keine große Hürde darstellen sollte, gehe ich auch davon aus, dass du dieses bereits über die Paketverwaltung Installiert hast und die Docker-Anwendung auf deinem Synology Desktop verfügbar ist.
Zu guter Letzt brauchen wir noch ein Verzeichnis, welches wir als Datenverzeichnis in den Portainer Container mounten, um eine persistente Speicherung der Konfigurationsdaten zu ermöglichen. Hierzu können wir einfach über die Systemsteuerung einen gemeinsamen Order und die FileStation einen Unterordner anlegen. Ich habe mir dazu einen gemeinsamen Ordner docker
auf Volume1 erstellt und einen Unterordner portainer-data
angelegt. Daraus ergibt sich in meinem Fall der folgende Pfad für die Einbindung im Portainer Contaier:
/volume1/docker/portainer-data
Kurz zusammengefasst also nochmal die Voraussetzungen:
- Vorhandensein einer DiskStation mit DSM 6 oder 7
- Installiertes Docker Paket aus dem Paket-Zentrum
- Verzeichnis für die Speicherung der Portainer-Konfigurationsdaten
Portainer Container starten
Im Prinzip ist es nun bereits Zeit den Portainer Container mit dem docker run
-Befehl zu starten. Den Befehl habe ich in meinem letzten Beitrag schon ausführlich erläutert. Er kann genau so auch auf der DiskStation verwendet werden. Einziger Unterschied ist, dass wir den Dateipfad für die Portainer Konfigurationsdaten anpassen müssen. Am Ende steht dabei dieser Befehl:
docker run -d -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume1/docker/portainer-data:/data \
portainer/portainer-ce:latest
Statt diesen Befehl jetzt über die Kommandozeile der DS einzutippen, nutzen wir zur Ausführung den Aufgabenplaner in der Systemsteuerung. Hier erstellen wir zunächst eine neue “Geplante Aufgabe” vom Typ “Benutzerdefiniertes Skript”.
Wir vergeben einen Namen und ändern den (ausführenden) Benutzer auf root
. Das ist notwendig, da zur Bedienung des Docker Dienstes erweiterte Berechtigungen erforderlich sind. Zuletzt können wir das Häkchen bei “Aktiviert” noch entfernen, da wir die Aufgabe ja nur manuell ausführen werden.
Den Zeitplan können wir konfigurieren wie wir wollen, da die Aufgabe ja nicht aktiviert sein wird. Ich mache es trotzdem wie im Screenshot dargestellt. So bin ich sicher, dass auch falls die Aufgabe mal aus Versehen aktiviert wurde keine zeitgesteuerte Ausführung statt findet.
In der letzten Registerkarte “Aufgabeneinstellungen” konfigurieren wir dann letztendlich unter “Benutzerdefiniertes Skript” unseren docker run
-Befehl.
Damit ist die Konfiguration der Aufgabe abgeschlossen. Über die Schaltfläche “Ausführen” oder per Rechtsklick > “Ausführen” auf die Aufgabe, können wir die Erstellung des Portainer Docker Containers anstoßen.
Die Abfrage bestätigen wir natürlich mit “Ja”.
Die Erstellung kann nun einen kurzen Moment dauern. Den Erfolg können wir über die im DSM eingebaute Administrationsoberfläche für Docker überprüfen.
Wenn es so ausschaut, dann läuft unser Portainer bereits. Wir können nun auf die Weboberfläche des Portainer zugreifen, indem wir die URL nach folgendem Schema aufrufen:
https://[IP oder Hostname]:9443
Die folgende Seite sollte erscheinen:
Hier können wir Portainer aus einem Backup wiederherstellen oder einfach mit einer frischen Portainer Installation starten, indem wir einen neuen Benutzer für die Administration anlegen.
Nach einem Klick auf “Create user” landen wir im “Quick Setup”.
Mit einem Klick auf “Get Started” ist das “Quick Setup” auch schon erledigt, und wir landen in der Übersicht unseres Portainers.
Unser Portainer ist nun startklar.
Da sich mit einer Portainer Weboberfläche mehrere Docker Hosts (Environments) verwalten lassen, müssen wir zum Anlegen unseres ersten Containers noch unser Environment auswählen. Dies tun wir mit einem Klick auf “local” oder auf den Button “Live connect”.
Bonus: Portainer Aktualisieren
Von Zeit zu Zeit bekommt natürlich auch Portainer Updates. Wenn ein neues Update zur Verfügung steht, informiert euch Portainer über die Weboberfläche. Da Portainer ein Docker Container ist, lässt sich das Update aber leider nicht über die Weboberfläche einspielen. Stattdessen müssen wir den Portainer Container und das Portainer Docker Image löschen und den Container neu erstellen. Und das geht so:
Zunächst rufen wir die Docker Web UI im Synology DSM auf und stoppen den Portainer Container.
Über das Menü “Aktion” > “Löschen” oder “Rechtsklick” > “Löschen” entfernen wir den Portainer Container.
Anschließend wechseln wir auf der linken Seite in den Bereich “Image”.
Dort entfernen wir auch das Portainer Docker Image. Anschließend können wie über den Aufgabenplaner, wie oben beschrieben, den Portainer Container neu erstellen. Dabei wird automatisch das neuste Docker Image geladen und verwendet. Sobald der Container erstellt ist, sollte auch der Zugriff auf die Weboberfläche wieder wie gewohnt funktionieren.
portainer-data
-Ordners machen oder über den Export der Konfiguration im Portainer unter “Settings” > “Backup Portainer”.Ich hoffe ich konnte dir mit diesem Beitrag einen kleinen Überblick über die Einrichtung von Portainer auf der Synology DiskStation geben.
Für Fragen und Feedback nutze gerne die Kommentarfunktion zu diesem Beitrag.
MfG,
André