Immich Foto Hosting

Immich Foto Hosting

Hier ein paar Hints zur Administration eines selbst gehosteten Immich Foto Servers:

  • das zentrale Verwaltungs-Script ist in meinen Github Gists zu finden, und zwar hier
  • damit können alle regelmässigen Wartungsarbeiten von einer zentralen Stelle aus gemacht werden, ohne jeweils die Syntax der notwendigen Befehle nachschauen zu müssen
  • Das Script muss auf dem Server installiert sein, zu diesem genügt ein ssh Zugang (ohne GUI)
  • vor der ersten Anwendung müssen die Einstellungen imhome und rsync_dest im Abschnitt settings geprüft und ggf. angepasst werden !
  • ebenso muss die Variable DB_BACKUP_LOCATION in .env der docker Instanz eingetragen werden

Anmerkungen zu den im Script gelisteten Aufgaben: Die meisten Optionen sind selbsterklärend, jedoch nicht alle .
“rsync data to clone” wird z.B. nur dann gebraucht, wenn die Daten (=Fotos+Videos) 1:1 auf einem Klon des Servers repliziert werden sollen.
Ich habe einen solchen Klon eingerichtet, der nicht immer online ist, aber eben zur Not ein Fallback darstellt, sollte mein produktiver Server ausfallen und nicht (einfach) wieder herstellbar sein.
Die Vorgehensweise ist dabei folgende:

  1. Backup der Datenbank auf dem Produktiv Server (wird auch gleich zum Klon kopiert, falls der online ist)
  2. Stop Immich Server auf Klon
  3. rsync Produktiv Server Daten und DB Dump (s.o.) zum Klon
  4. restore Produktiv Dump auf dem Klon und starte dessen Server neu

Alle diese Aufgaben können mit je einer Instanz des Verwaltungs-Scripts auf dem Produktiv-System und dem Klon erledigt werden.

  • Die Option “cleanup docker images” sollte von Zeit zu Zeit angewendet werden, da bei jedem Update neue Images gezogen werden, die alten bleiben aber als ‘Leichen’ stehen und belegen mit der Zeit ganz schön viel Speicherplatz.
  • Die Option “remove docker volumes” habe ich bisher nur ein Mal gebraucht, nachdem der Server nach einem Update nicht mehr zu starten war (warum auch immer). Hier ist zu beachten, dass dabei ALLE Volumes gelöscht werden, also auch die von ggf. vorhandenen anderen docker Instanzen !
  • deswegen wird hier auch nur ein extra Script erzeugt und nicht direkt ausgeführt, so dass darin ggf. enthaltene, unerwünschte Lösch-Aktionen vorher entfernt werden können.