Das 25-Euro-NAS. Teil 4: Foto-Sync für die Familie mit Immich

Wir bleiben beim Ausgangssetting. Neben der angeschlossenen HDD wurde am zweiten USB-Slot ja eine flotte SSD angehängt. Diese soll nun für den Foto-Sync der unterschiedlichen Smartphone-Geräte in einer Familie dienen. Dafür soll das bekannte Foto-Verwaltungsprogramm Immich dienen. Es ist sehr ähnlich wie Google-Fotos aufgebaut – aber die Daten bleiben auf dem eigenen Homeserver. Sogar die Erkennung von Text in Fotos, von Gesichtern oder Gegenständen erfolgt über maschinelles Lernen lokal – die privaten Inhalte wandern also nicht draußen.

Vorteile von Immich

Immich hat ein vertrautes Design. Bei einem umfangreichen Fotobestand finden viele Anwender besonders die Zeitleiste am Rand nützlich, um rasch eine Suche einzugrenzen.

Dazu kommt das Auslesen der Meta-Daten, die Einordnung in Alben, die Vergabe von Tags, das Definieren vieler Suchkriterien, die Anzeige der Fotos auf einer Welt-Karte, die Suche nach Gegenständen oder Personen usw. usw. Die Anzeige auch großer Fotobibliotheken ist ausgesprochen flott, ebenso werden Suchvorgänge auf Tastendruck erledigt.

Besonders wichtig in einer Familie, in der verschiedene Smartphone-Geräte genutzt werden: Es gibt sowohl für Android als auch für iPhone Apps, die sich völlig problemlos mit unserem NAS verbinden können. Auf jedem Gerät kann ausgewählt werden, welche Foto-Alben auf dem NAS gespeichert werden sollen.

Obwohl unser 25-Euro-NAS auf den ersten Blick nicht zu den stärksten Geräten gehört, so kann es mit Immich außerordentlich gut umgehen. Auch die Erkennung von Personen oder Gegenständen klappt tadellos. Getestet habe ich mit einem Foto-Umfang von ca. 1.300 Fotos – aber auch sehr viel größere Sammlungen sollten gut bewältigt werden können.

Immich: Die 5-Minuten-Installation

USB-SSD vorbereiten

Es hat einige Vorteile, die angeschlossene SSD im Linux-Dateiformat „ext4“ zu formatieren: Performanz, Zuverlässigkeit (auch bei Stromausfällen), Handling von vielen Unterverzeichnissen usw. Unter Windows kann man dies mit dem kleinen Freeware-Tool Rufus erledigen („Dateisystem“ auf „ext4“ umstellen). Aber da wir mit DietPi ohnehin ein Linux-System benutzen, kann die SSD auch darüber formatiert werden. Den „Drive-Manager“ kennen wir ja schon.

dietpi-drive_manager

Dort die angeschlossene SSD auswählen, danach „Formatieren“ und „ext4“ als Filesystem-Typ wählen:

Erledigt.

Docker mit Docker Compose installieren

Docker bzw. Docker Compose ist inzwischen im privaten Homeserver-Bereich zum Standard geworden, da sich unendlich viele Anwendungen über einfache Textdateien installieren lassen. Für DietPi gibt es wieder die Fix-und-Fertig-Pakete, die mit zwei Klicks wie gewohnt installiert werden können:

Erledigt.

Immich installieren

Der Speicher „usb-ssd-2“ wurde ja bereits eingebunden. Dort wird ein Ordner für Immich angelegt und gleichzeitig werden die Berechtigungen gesetzt:

sudo mkdir -p /mnt/usb-ssd-2/immich/library
sudo chown -R dietpi:dietpi /mnt/usb-ssd-2/immich

Ein Arbeitsverzeichnis für Immich anlegen:

mkdir ~/immich-app
cd ~/immich-app

Die beiden Konfigurationsdateien „docker-compose.yml“ und „.env“ laden:

wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
mv example.env .env

In der Datei „.env“ den Foto-Speicherort für die SSD eintragen:

nano .env

Die Zeile oben mit der Bezeichnung „UPLOAD_LOCATION“ ändern: „UPLOAD_LOCATION=/mnt/usb-ssd-2/immich/library“

  GNU nano 7.2                                  .env                                            # You can find documentation for all the supported env variables at https://immich.app/docs/ins>
# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/usb-ssd-2/immich/library

# The location where your database files are stored. Network shares are not supported for the d>DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this li># TZ=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Immich-Server starten:

docker compose up -d

Erledigt.

Immich kann nun von einem beliebigen Browser aus aufgerufen werden mit „http://nas-ip:2283. Also im Beispiel dieser Serie: „http://192.168.178.182:2283“. Dies ist auch die Adresse, die in den Smartphone-Apps für Immich eingetragen werden muss. E-Mail-Adresse eintragen, Passwort vergeben – und schon kann der Foto-Upload beginnen.

Wie schlägt sich Immich auf dem NAS?

Es würde den Rahmen sprengen, wenn ich hier die Einzelheiten von Immich erklären wollte. Die Funktionen sind ausführlich im Handbuch von Immich beschrieben. Grundfunktionen wie Anzeige von Geo- und Metadaten dürften auch vertraut sein:

Auch gibt es zahllose Videos und Tutorials zu dem Programm. Für uns ist interessant: Wie schlägt sich Immich auf dem 25-Euro-NAS? Und ich muss sagen: Außerordentlich gut! Der Sync via Smartphone läuft problemlos und rund, vielleicht geschieht die Erst-Erkennung von Fotoinhalten etwas langsamer als bei stärkeren Maschinen. Ist dies aber geschehen, so klappt alles ohne Verzögerungen.

Maschinelles Lernen

Ich hatte ursprünglich gedacht, dass die ML-Funktionen das kleine NAS überfordern würden und wollte diesen Bereich schon deaktivieren. Tatsächlich konnte ich hier aber keine Einschränkungen feststellen. Bei den Fundresultaten gibt es zwar die für Immich übliche Einschränkung, dass auch Fotos aufgeführt werden, die nicht unbedingt etwas mit der Suche zu tun haben – aber die Haupt-Treffer landen immer vorne. Auch hilft es gelegentlich, wenn man statt eines deutschen Suchworts die englische Übersetzung nimmt. Ein paar Beispiele:

Landschaften

Zu den einfachen Übungen gehört das Erkennen von Landschaften und Außen-Situationen:

Texterkennung

Schild hinter Glas, alte Buchstaben für „Römisches“ – wird tadellos erkannt:

Kontext-Erkennung von Räumlichkeiten

Die Theatersituation wird erkannt:

Abstrakte Erkennung

Für „Hufeisen“ werden nicht nur die „richtigen“ Hufeisen gefunden – auch eine Plastikfigur, die ein Pferd zeigt, findet sich in den Resultaten:

Kombination von Begriffen

Das finde ich schon sehr gelungen – „blumen schuhe“ – und genau die richtigen Treffer:

Kombinationen von Personen und Bildinhalten

Auch die Kombination von Personen plus Bildinhalt führt zu korrekten Ergebnissen. In diesem Beispiel werden Fotos mit „Sarah“ und Kindern aus der Verwandtschaft angezeigt:

Immich in der Familie nutzen

Es lassen sich für jedes Familienmitglied Accounts einrichten, so dass getrennte Foto-Backups entstehen:

Die zweite Variante ist, dass man nur einen Account benutzt und dort die Fotos von beiden Geräten zusammen verwaltet. Man kann auf jedem Gerät individuell entscheiden, welches Album mit Immich synchronisiert werden soll. Bei einem gemeinsamen Account führt Immich die Fotos im gleichen Album zusammen, sofern der Name identisch ist. Am einfachsten ist das an einem Beispiel zu erklären:

Sarah und Peter haben einen gemeinsamen Urlaub in Schweden verbracht. Jeder hat mit seinem Smartphone Fotos aufgenommen, die in Immich nun in einem gemeinsamen Ordner landen sollen. Dazu legt jede(r) auf seinem Gerät ein Album mit dem Namen „Urlaub_Schweden“ an (bei Android darauf achten, dass es sich um eine lokales Album handeln muss. Immich bringt so die Fotos von beiden im Album „Urlaub_Schweden“ unter.

Wenn man möchte, so kann man mit einem Klick ein Download-Archiv erzeugen, das alle Fotos beinhaltet. Möchte man wissen, wer welches Foto aufgenommen hat, so kann man einen Filter auf den Meta-Eintrag mit dem Smartphone-Typ setzen:

Es gibt noch einige andere Möglichkeiten, z. B. über geteilte Alben oder Definition von Partnergeräten. So ganz optimal ist die Geschichte aus meiner Sicht bei Immich zwar noch nicht gelöst, aber mit den bestehenden Funktionen kann man sich recht gut einen eigenen Workload basteln. Welche Geräte Zugriff auf Immich haben, kann man in den Einstellungen abrufen:

Nebenbei: Immich über Portainer verwalten

Ich persönlich habe mich an die Kommandozeile für Docker-Anwendungen gewöhnt. Viele bevorzugen Portainer, da man so eine grafische Oberfläche für die Verwaltung aufrufen kann. DietPi bringt Portainer als 1-Klick-Installation mit (Port 9002). Wer möchte, kann also auch mit diesem Tool arbeiten:

Fazit

Immich lief bei meinen Tests auf dem NAS „rund“. Überrascht war ich von der Geschwindigkeit und den wirklich guten Suchresultaten. Ein Test lohnt sich, vielleicht zunächst mit einer überschaubaren Anzahl von Fotos. Immich kann sehr viel mehr, als ich hier beschrieben habe. Gerade, wenn man sich die Einstellungen näher anschaut, wird man auf eine Reihe weiterer nützlicher Funktionen stoßen. Glück auf!

Das 25-Euro-NAS:
Teil 1: Hardware
Teil 2: Betriebssystem DietPi – Anwendungen à la carte
Teil 3: Zugriff auf Netzwerk-Speicher
Teil 4: Foto-Sync mit Immich
Teil 5: mobiler Zugriff, Familien-Kalender, eigenes Dashboard

2 Kommentare

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert