Umstellung von Monument 2 auf Immich

Dieser Beitrag könnte zu einer großen Tirade über die Notwendigkeit von Open-Source-Tools von Unternehmen werden, die Hardware verkaufen, die langlebig sein soll, aber wenn Sie dies lesen, haben Sie wahrscheinlich dasselbe erlebt wie ich in den letzten paar Monaten.

Monument ist ein Unternehmen aus Chicago, IL, mit angeblich 5 Mitarbeitern. Sie hatten 2017 auf Kickstarter ein ordentliches Fotoverwaltungssystem vorgestellt. Ich habe das frühe Modell unterstützt und fand es toll. Natürlich gab es Einschränkungen, aber es war unendlich viel besser als andere Lösungen, die zu dieser Zeit verfügbar waren. Die Hardware war etwas langsam, und 2022 wurde ein aktualisiertes Gerät, das Monument 2, veröffentlicht.

Die Umstellung von Monument 1 auf Monument 2 verlief nicht ohne Probleme, aber alles lief recht gut, es gab eine Roadmap für die in der Entwicklung befindlichen Funktionen, auf der die Benutzer Fehler melden oder Ideen einbringen konnten, und die Leistung war recht angenehm. Der größte Vorteil von Monument 2 war die Möglichkeit, Links zu erstellen, mit denen Alben oder einzelne Fotos mit Personen geteilt werden konnten , die nicht als Benutzer auf Monument registriert waren.

Dies änderte sich jedoch in der zweiten Hälfte des Jahres 2023. Es stellte sich heraus, dass die öffentliche Freigabe von Monument 2 sowie der Zugriff von außerhalb auf Monuments 1 und 2 auf AWS-Routing beruht, und zwar durch eine clevere Zuordnung von Benutzer zu umgekehrtem DNS, wie man vermutet. Aber mit dem Krieg in der Ukraine wurde deutlich, dass ein Teil der Entwicklung des Monument-Teams von ukrainischen Entwicklern abhängig war. Kein Grund, warum sie das nicht hätten tun sollen. Als der Krieg das ganze Land erfasste und alle Männer ab 18 Jahren in die Armee einberufen wurden, fielen die Cloud-Systeme von Monument aus. Zuerst war es ein Ausfall von ein paar Wochen, der Probleme verursachte. Dann, Anfang September, brach die Infrastruktur erneut zusammen und ist bis heute noch nicht repariert worden.

Frustriert und weil ich als Elternteil eines Kleinkindes Fotos von diesem Kind mit den Großeltern und anderen Familienmitgliedern teilen wollte, hatte ich mich auf die Funktion für gemeinsame Alben des Monument 2 verlassen. Also musste ich nach einem alternativen Angebot suchen, das ich selbst betreiben konnte, ohne auf kommerzielle Closed-Source-Dienste angewiesen zu sein, die ausfallen könnten, weil jemand, der nicht ich war, nicht verfügbar war.

Nachdem ich eine beträchtliche Zeit damit verbracht hatte, die verfügbaren Open-Source-Bibliotheken gründlich zu vergleichen, probierte ich zwei aus: Photoprism und Immich. Photoprism verwendet das immer häufiger anzutreffende System von “Community”- und “bezahlten” Editionen. Aber ich habe schnell gemerkt, dass Photoprism zwar gut für einen einzelnen Benutzer funktioniert, aber die Community-Edition macht die Einrichtung für mehrere Benutzer schwierig. Man muss die CLI zum Erstellen und Verwalten von Benutzern verwenden. Also habe ich dann Immich ausprobiert.

Immich ist ressourcenintensiver als Photoprism, aber ich denke, die Ergebnisse sind es wert. Da es als Docker Compose Stack läuft, ist es relativ einfach, es auf mehreren Servern zu virtualisieren (wenn man Zugang dazu hat) oder es dazu zu bringen, bestimmte Speicherlaufwerke zu verwenden, die man an seinen Rechner angeschlossen hat. Ich hatte einen 2010er Mac Mini herumliegen, der auf 8 GB RAM aufgerüstet worden war, den ich prompt für die Verwendung von Ubuntu Server 22.04 Barebones formatierte und mich durch die Docker-Installationsanweisungen in der ausführlichen Dokumentation arbeitete.

Nachdem Immich betriebsbereit war, musste ich damit beginnen, die rund 60.000 Fotos und ein paar tausend Videos von meinem Monument 2 zu migrieren. Der einfachste Weg, den ich fand, war, alle Fotos von jedem Benutzer auf die externe Festplatte meines Desktops zu exportieren (ein Ordner für jeden Benutzer), da ich paranoid vor Datenverlusten bin. Das kann natürlich eine beträchtliche Menge an Speicherplatz beanspruchen.

Nachdem alle Fotos auf meiner Festplatte verfügbar waren, folgte ich den Anweisungen des Immich-Dokuments zum Massen-Upload. Dazu musste ich mich als jeder Benutzer anmelden, einen API-Schlüssel erstellen und dann einen Massenimportauftrag für den Ordner jedes Benutzers mit dem entsprechenden API-Schlüssel ausführen. Das ist zeitaufwendig, aber nicht übermäßig schmerzhaft. Selbst unter Windows ist die Installation und Ausführung des Massenimportprogramms über die Nodejs-CLI trivial.

Nachdem der Import abgeschlossen war und ich die Anzahl der Threads für die verschiedenen Jobs so eingestellt hatte, dass sie den armen Intel Core 2 Duo des Mac Mini nicht erdrücken würden (der Standardwert ist 5 Threads für fast alles!)

Ich musste nur noch die DNS-Einträge und den Reverse-Proxy für meine Instanz erstellen und die Kennwörter meiner Benutzer senden.

Vielleicht gibt es eine bessere Möglichkeit, von Monument nach Immich zu importieren – aber ich habe mich noch nicht damit beschäftigt.

Bedenken Sie, dass die Einrichtung von Immich nicht so einfach ist wie die Einrichtung von Monument 2. Ich bin wirklich enttäuscht von der Art und Weise, wie Monument hier den Ball fallen gelassen hat, denn wenn sie einfach eine API entwickelt hätten, um das Reverse-DNS zu öffnen, hätten die technisch versierteren Benutzer ihre eigene Infrastruktur aufbauen können, um die Dienste und das Gerät am Leben zu erhalten. So aber bin ich jetzt stolzer Besitzer eines weiteren nicht mehr funktionierenden Stücks Hardware.

Davon abgesehen ist die Dokumentation wirklich einfach, wenn man mit der Funktionsweise von Linux und Docker einigermaßen vertraut ist. Selbst wenn Sie sich nicht sicher sind, wie Docker intern funktioniert, reicht es aus, die Anweisungen zu lesen und sich durchzuarbeiten. Sie müssen nur keine Angst davor haben, ein paar Befehle über ein Terminal einzugeben, um Programme auf einem Computer auszuführen.