Hauptsächlich nutze ich mein Synology NAS DS1019+ (kaufen) für Plex und Anwendungen mit Docker. Die Docker-Container enthalten die komplette Anwendung den Minecraft-Server. Um die Anwendungen zu aktualisieren, muss der Docker Container aktualisiert werden.
Synology Docker Container manuell aktualisieren
Wenn man nur sehr selten seinen Docker Container aktualisieren muss, dann kann man dies wie folgt per Hand erledigen.
- Docker im DSM starten
- In der Registry die aktuelle Version des Images runterladen.
- Vorhandenen Container nun stoppen
- Unter „Action“ nun „Clear“ auswählen und bestätigen
- Container starten.
Es bleiben alle Einstellungen des Containers erhalten. Solange die Daten per Volume extern auf dem NAS gemountet sind, bleiben diese ebenfalls erhalten. Dieser Prozess ist bei mehr als drei Containern recht lästig. Es geht auch einfacher.
Synology Docker Container automatisch aktualisieren
Watchtower ist ein Docker-Container, der Docker-Container aktualisieren kann. Ich nutze dazu das Docker Image containrrr/watchtower. Für die einfache Einrichtung befolgt man diese Schritte:
- Image containrrr/watchtower der Docker Registry runtergeladen.
- root-Zugriff per Shell auf das Synology NAS anlegen
- Auf Shell folgenden Code ausführen:
docker run -d --network host --name watchtower-once -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower:latest --cleanup --include-stopped --run-once
Nun werden einmalig alle Docker-Container aktualisiert. Der dafür angelegte Container läuft einmal durch und ist danach ausgeschaltet in der Liste der Container in der Synology Docker Applikation zu finden. Nun kann man ihn manuell immer wieder bei Bedarf starten oder per Synology Task Scheduler zu bestimmten Zeiten laufen lassen. Der Befehl für den Task Scheduler ist dann folgender:
docker start watchtower-once -a
Watchtower permanent laufen lassen
Alternativ kann man auch den Scheduler in Watchtower selber nutzen. Wenn man ihn immer mittwoch morgen um 7 Uhr starten möchte, dann gibt man folgenden Befehl auf der Shell ein:
docker run -e "TZ=Europe/Berlin" -d --restart unless-stopped --network host --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --include-stopped --schedule "0 7 * * 3"
Wichtig ist hierbei die Timezone auf „Europe/Berlin“ zu stellen, da man sonst einen Versatz von 2 Stunden hat. Zusätzlich wird der Container nicht beendet, sondern immer wieder neugestartet. Auch wenn er mal abgestürzt ist oder das NAS neugestartet wurde. Der letzte Parameter nutzt die cron-Syntax für das Planen des Tasks.
Synology als Docker Server
Mit diesem Setup ist ein Synology NAS ein echter Anwendungsserver. Docker-Unterstützung bekommt man schon für wenig Geld mit dem DS218+ (kaufen). Es muss nicht immer das teure DS1019+ (kaufen) sein. Für mehr Geschwindigkeit kann man noch über eine SSD im Synology NAS nachdenken.
Bedanke dich mit einer Spende
Ich entwickle diese Software in meiner Freizeit, um dir und anderen zu helfen.
Schreibe einen Kommentar