Mit Immich bringen Sie Medien von Google Photos unter Ihre eigene Kontrolle und lösen sich von datenhungrigen Anbietern.
Fotos fallen grundsätzlich in den Bereich der eigenen Privatsphäre. Sie halten unsere persönlichen Erlebnisse fest und führen uns zurück zum Zeitpunkt und Ort ihrer Entstehung. Trotzdem vertrauen viele Menschen ihre Fotos Unternehmen an, die dafür bekannt sind, mit Nutzerdaten Geld zu verdienen. Denken Sie nur an Google Photos oder die Apple iCloud. Das ist nicht nur äußerst bedenklich hinsichtlich der Privatsphäre, sondern birgt auch die Gefahr, dass Ihre liebsten Erinnerungen verloren gehen, sofern Sie nicht über Backups verfügen. In letzter Zeit kommt erschwerend hinzu, dass die Unternehmen die gespeicherten Bilder vermutlich zum Trainieren generativer KIs verwenden.
Quelloffene Fotoanwendungen beweisen, dass dem nicht so sein muss. Sie laufen unter Ihrer eigenen Kontrolle, lassen sich aber trotzdem im eigenen Netzwerk oder außerhalb teilen. Dazu zählen Apps wie PhotoPrism oder Piwigo; eine häufig bereits vorhandene Nextcloud eignet sich ebenso gut für diesen Zweck. Daneben lohnt sich ein Blick auf eine Anwendung, die darauf abzielt, Ihre Fotos aus den Klauen der Google-Cloud zu befreien: den Google-Photos-Klon Immich [1].
So geht Open Source
Die Geschichte von Immich beginnt wie die zahlreicher Open-Source-Projekte. 2022 bekam der Entwickler Alex Tran Nachwuchs und wollte verhindern, dass die schnell wachsende Zahl an Fotos seines Neugeborenen bei Google Photos landet. Trans Ziel bestand in einem einfach zu bedienenden Backup-Tool, ergänzt durch native mobile Apps zum effizienten Verwalten von Fotos und Videos. Da er unter den bestehenden Anwendungen keine passende Lösung fand, beschloss er kurzerhand, selbst ein Programm zu schreiben. Es sollte die Funktionen von Google Photos bieten, aber selbst gehostet unter eigener Kontrolle laufen. Das Projekt erwies sich auf Github schnell als voller Erfolg, der sich in fast 35 000 Sternen und 1600 Forks niederschlägt. [2].
Seit den ersten Gehversuchen hat das Projekt eine fulminante Entwicklung hingelegt. Immich ist komplett freie Software und unterliegt der AGPL-Lizenz [3]. Kürzlich wurde die US-amerikanische Stiftung FUTO zur Förderung von Open-Source-Software auf das Programm aufmerksam. Das führte dazu, dass die Stiftung drei Entwickler im Core-Team für zwei Jahre in Vollzeit entlohnt, um den Google-Photos-Klon weiterzuentwickeln [4].
Primär lautet die Idee hinter Immich, Fotos und Videos von Ihrem Handy zu sichern. Zusätzlich können Sie Medien aus lokalen oder entfernten Verzeichnissen einbinden. Zum Sichern der Medien von Google Photos oder der Apple iCloud müssen die Fotos bei Android als Google Takeout [5] oder aus der Apple iCloud [6] vorliegen. Zum Klassifizieren der Fotos bedient sich Immich bei KI-Funktionen wie maschinellem Lernen, automatischer Bildklassifizierung und einer relativ guten Gesichtserkennung.
Die Anwendung verfügt über Multi-User-Fähigkeiten sowie Geolokalisierung und bietet native Android- und iOS-Apps. Sie nutzt fortschrittliche Algorithmen zur automatischen Organisation von Fotos. Immich kann Bilder nach Datum, Ort und nach erkannten Gesichtern sortieren und setzt Tensorflow zum automatischen Tagging ein. Außerdem unterstützt es RAW in den Formaten HEIC, HEIF, DNG und Apple ProRaw.
Obwohl noch in der Beta-Phase, verspricht die Software schon jetzt mehr Funktionen als die Google-App. Ebenso erfreulich: Die Entwickler treiben das Projekt aktiv und in hohem Tempo voran. Bevor Sie Immich aktualisieren, sollten Sie deshalb in jedem Fall die Notizen zur neuesten Version auf Github lesen. Zudem empfiehlt es sich, ein Backup Ihrer Fotos anzulegen: Immich führt manchmal wichtige Änderungen ein, die beim Update einen manuellen Eingriff erfordern. Die Dokumentation erweist sich dabei stets als hilfreich, wie das Beispiel einer kürzlich vorgenommenen Änderung [7] zeigt.
Die Bereitstellung
Als Methode zur Bereitstellung von Immich empfehlen die Entwickler ein gleichermaßen für Windows und MacOS verfügbares Docker-Image, das Sie via Docker Compose in mehrere Container ausrollen. Wenn Sie neu bei Docker sind, dauert eine Installation rund eine halbe Stunde. Sind Docker und Docker Compose bereits installiert, braucht es gerade einmal fünf Minuten, bis Immich zum Einsatz bereitsteht. Die Installation besteht aus insgesamt fünf Containern, die Compose für Sie aufsetzt. Neben dem Immich-Server handelt es sich dabei um die Datenbanken PostgreSQL und Redis, zudem gibt es je einen Container für das maschinelle Lernen und für Microservices.
Die einzelnen Installationsschritte fasst Listing 1 zusammen. Wir gehen hier davon aus, dass Sie Docker und Docker Compose installiert haben. Zunächst erstellen Sie im Terminal einen Ordner in Ihrem Home-Verzeichnis (erste Zeile), der die nötigen Dateien aufnimmt, und wechseln dorthin (zweite Zeile). Laden Sie dann mit den Befehlen aus Zeile 3 und 4 die beiden Dateien docker-compose.yml und .env von Github herunter.
Listing 1
Immich mit Docker bereitstellen
$ mkdir -p immich $ cd immich $ 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 $ nano .env $ docker compose up -d
Jetzt editieren Sie die versteckte Datei .env (Zeile 5) an den in Abbildung 1 mit einem Pfeil gekennzeichneten Stellen. Der obere Pfeil verweist auf das Verzeichnis, in dem Ihre Fotos liegen. Bei Bedarf können Sie es anpassen. Das Passwort der Postgres-Datenbank (unterer Pfeil) sollten Sie definitiv ändern. Falls Sie über eine leistungsfähige Grafikkarte im Immich-Rechner verfügen, können Sie Hardwaretranskodierung [8] für Videos sowie maschinelles Lernen [9] aktivieren. Im letzten Schritt erstellen Sie schließlich die Container (Zeile 6).

Abbildung 1: Vor dem Erstellen der Container editieren Sie die Datei .env, wo Sie vor allem ein sicheres Passwort für die Datenbank vergeben. Zudem passen Sie bei Bedarf den Ablageort der Datenbank an.
Die in Listing 1 beschriebenen Schritte kürzt alternativ ein Skript ab. Die Community-Skripte immich-install.sh und immich-full-install.sh auf Github erledigen die Installation in einem Zug. Das zweite kümmert sich sogar um das Integrieren von Docker und Docker Compose sowie um das Einbinden von Immich in der Container-Plattform Portainer. Wir legen Ihnen jedoch trotzdem den Weg über die Compose-Datei (Abbildung 2) ans Herz – dabei lernen Sie mehr über Docker und Immich. An derselben Stelle wie die Community-Skripte befindet sich darüber hinaus ein Backup-Skript [10]. Auch auf Unraid ist Immich schnell installiert. Dabei hilft ein Video des Youtubers Spaceinvader One [11].

Abbildung 2: Das Aufsetzen der Container ist in wenigen Minuten erledigt. Danach können Sie im Webbrowser auf die Anwendung zugreifen.
Falls Sie Docker und Docker Compose noch nicht installiert haben, gehen Sie dazu nach der aktuellen Anleitung der Webseite goNeuland.de vor [12]. Für RPM-basierte Distributionen liefert Fedora [13] Anleitungen [14] für Docker. Nutzen Sie Arch Linux, finden Sie auf Github Unterstützung [15]. Sie können Immich mit Docker auf unterschiedlichster Hardware installieren. Das Spektrum erstreckt sich vom Raspberry Pi über ausrangierte Notebooks oder PCs bis hin zu einem dedizierten Homeserver oder einem gemieteten vServer in einem Rechenzentrum.
Erster Start
Sobald Sie die Container erstellt haben, rufen Sie Immich im Webbrowser mit der URL http://<I>Server-IP<I>:2283 auf und landen in der Registrierung. Hier richten Sie ein Admin-Konto ein, weniger privilegierte User folgen später. Machen Sie sich zunächst mit der Bedienoberfläche bekannt. Wer mit Google Photos vertraut ist, findet sich auch hier gleich zurecht (Abbildung 3).

Abbildung 3: Beim ersten Start der Weboberfläche lassen sich testweise ein paar Fotos vom Host-Rechner hochladen. Die Oberfläche orientiert sich an Google Photos und lässt sich intuitiv bedienen.
Die Software fordert Sie nun dazu auf, erste Fotos hochzuladen (Abbildung 4). Ein Mausklick führt in einen Dateiauswahldialog, innerhalb dessen Sie Bilder zum Hochladen auswählen. Dieselbe Funktion erfüllt das Upload-Icon rechts oben in der Leiste. Auf beiden Wegen lassen sich mit vertretbarem Aufwand jedoch nur kleine Mengen an Bildern hochladen. Ein Mausklick auf ein Bild bringt Sie zur großen Einzelansicht mit unterschiedlichen Informationen (Abbildung 5).

Abbildung 4: Das Hochladen einiger Bilder vom Host-System hat funktioniert. Somit ist die Anwendung einsatzbereit.

Abbildung 5: In der Großansicht eines Bilds stehen rechts Informationen zu Datum, Aufnahmeort und Größe sowie zu Aufnahmegerät, Blende und Auflösung bereit. Die Icons darüber erlauben das Teilen, Vergrößern, Favorisieren oder Entfernen des Bilds.
Um Immich ganze lokale Sammlungen oder die Bestände aus den Clouds von Google und Apple einzuverleiben, kommen das Community-Tool Immich Go oder die Immich-CLI zum Einsatz – dazu später mehr. Zuvor sollten Sie ein Benutzerkonto ohne administrative Rechte anlegen, über das Sie künftig die meisten Aufgaben erledigen. Dazu navigieren Sie oben rechts zu Administration | Users, wo Sie bereits den Admin aus der Registrierung sehen. Per Create user fügen Sie weitere Konten hinzu. Die gesamte Oberfläche der Webansicht ist derzeit noch nicht lokalisiert und steht dementsprechend ausschließlich auf Englisch zur Verfügung.
Der nächste Menüpunkt links in der Leiste heißt Jobs. Hier zeigt Immich an, womit die App sich momentan beschäftigt. Aufgaben wie die Gesichtserkennung oder das Transkodieren von Videos kann je nach Hardware den Rechner so auslasten, dass etwa das Durchblättern von Bildern währenddessen zäher abläuft als üblich. Jobs informiert Sie darüber, welche Aufgabe die Performance-Einbußen verursacht und wann das Programm sie abgearbeitet haben wird (Abbildung 6). Unter Settings nehmen Sie Einstellungen vor, die unter anderem die Bildqualität, das maschinelle Lernen und die Geolokalisierung regeln.

Abbildung 6: Unter Job | Status zeigt Immich an, welche Aufgaben es gerade abarbeitet. Hier können Sie zudem Aufgaben erneut anstoßen.
Die Settings beherbergen hauptsächlich fortgeschrittene Einstellungen, die Sie am besten erst angehen, wenn Sie ein besseres Verständnis von Immich besitzen. Unter External**Libraries (Abbildung 7) binden Sie Medien ein, die außerhalb von Immich im Dateisystem existieren [15]. Die Server Stats verraten Ihnen die Zahl der gespeicherten Bilder und Videos und den dafür belegten Platz sowie die prozentuale Nutzung der Quota pro User. Die Rubrik Repair klärt darüber auf, ob es derzeit Probleme im System gibt. Am unteren Rand der Seitenleiste finden Sie den Server-Status sowie die aktuell installierte Version von Immich (Abbildung 8).

Abbildung 7: Die Statistikseite informiert über die Anzahl der gespeicherten Medien, die Datenmenge und die Quotas der registrierten User.

Abbildung 8: Über das External Library Management lassen sich Verzeichnisse mit Medien integrieren, die sich auf derselben Maschine wie Immich befinden. Sie werden fortan gescannt und neue Medien automatisch eingebunden.
Im Hauptmenü
Wenn Sie oben links auf das Immich-Logo klicken, erscheinen in der Seitenleiste die unterschiedlichen Möglichkeiten, Ihre Medien zu betrachten und zu bearbeiten. Unter Photos listet die Anwendung die Medien chronologisch auf, das Navigieren funktioniert über die Zeitleiste am rechten Rand. Der Menüpunkt Explore sortiert die Fotos nach Gesichtern oder Orten. Map zeigt die Aufnahmeorte der Fotos auf einer Weltkarte an, in die Sie bis auf die Straßenebene hineinzoomen können. Hinter People verstecken sich Thumbnails aller Gesichter (Abbildung 9) in Ihrer Sammlung. Hier vergeben Sie Namen für eventuell nicht erkannte Gesichter oder führen doppelt vorhandene zusammen.

Abbildung 9: Die Gesichtserkennung startet automatisch. Nach dem Hochladen großer Datenmengen kann das System dadurch stark unter Last stehen.
Die Suchleiste am Kopf der Seite gibt ohne Training wenig her. Hierzu gehen Sie unter Administration zu Jobs und klicken dort unter Smart Search auf All. Nach wenigen Minuten können Sie in der Suchleiste Begriffe eingeben. Testen Sie das mit Begriffen wie “Katze”, “Hund”, “Wasser” oder “Bäume”. Sie werden sehen, dass die KI hinter Smart Search relativ gute Arbeit leistet (Abbildung 10). In dieser Hinsicht ist es gut zu wissen, dass bei keiner der KI-Funktionen von Immich irgendwelche Daten Ihr Netzwerk verlassen.

Abbildung 10: Im Gegensatz zur Gesichtserkennung müssen Sie die smarte Suche manuell anstoßen. Erst danach funktioniert die Objektsuche in der Suchmaske der Hauptansicht.
Der Menüpunkt Sharing (Abbildung 11) erlaubt, Ihre Fotos auf zweierlei Art zu teilen. Einerseits können Sie ein Album anlegen und es für andere registrierte Immich-Nutzer freigeben. Andererseits erzeugen Sie Links zu Alben oder einzelnen Bildern für nicht als User registrierte Personen (Abbildung 12). Alben zum Einsortieren Ihrer Schätze richten Sie unter Albums ein.

Abbildung 11: Der Menüpunkt Sharing bietet zwei Möglichkeiten, Medien mit anderen zu teilen. Hier wird ein registrierter User der Plattform in den Ordner Shared eingeladen.

Abbildung 12: Medien lassen sich per Link auch mit nicht registrierten Usern teilen. Die Erstellung in der Maske legt die Bedingungen fest.
Verschachtelte Alben funktionieren momentan zwar noch nicht, stehen aber auf der To-do-Liste der Entwickler weit oben. Wenn Sie auf ein Foto klicken, stehen Ihnen mehrere Optionen zur Verfügung: Sie können das Bild vergrößern, Informationen einblenden, es als Favorit hinzufügen oder es löschen. Ein Mausklick auf die drei Punkte zeigt weitere Optionen an, zum Beispiel das Herunterladen, das Hinzufügen zu einem Album oder das Archivieren. Manche Fotos bieten die Funktion Play-Motion, die über einen Algorithmus aus dem Foto eine kurze Videosequenz erzeugt.
Medien hochladen
Das Hochladen von Bildern aus Google Photos oder von großen Sammlungen auf lokalen Geräten gelingt am einfachsten mit der Kommandozeilen-App Immich-go, die Sie von Github für Ihre Plattform in einen leeren Ordner in Ihrem Home herunterladen. Bedenken Sie dabei, dass Immich-go auf Ihrem Rechner ausgeführt wird, nicht auf dem Gerät, auf dem Sie Immich hosten [16]. Des Weiteren benötigen Sie einen Immich-API-Key. Dazu navigieren Sie in Immich ganz rechts in der Kopfleiste auf Ihr Konto und zu API Keys. Dort erstellen Sie einen neuen Key, dem Sie einen beliebigen Namen geben. Anschließend kopieren Sie den Schlüssel an einen sicheren Ort.
Liegen Ihre Medien auf Google Photos, nutzen Sie nun Google**Takeout, um sie als ZIP-Archiv auf Ihren Rechner herunterzuladen [17]. Je nach der Anzahl der dort gespeicherten Fotos nimmt das ein bis zwei Tage in Anspruch. Das Archiv oder die Archive mit Ihren Fotos kopieren Sie in denselben Ordner, in dem das Skript Immich-go lagert. Sie sollten zunächst einen Trockenlauf starten, also eine simulierte Ausführung. Dabei sehen Sie im Detail, was das Skript tun würde (Abbildung 13). In Listing 2 finden Sie die Befehle, um Ihre Bilder in einem Rutsch hochzuladen, egal, ob von Google oder Ihrem heimischen PC.

Abbildung 13: Ein Testlauf mit Immich-go zeigt, was das Skript tut, wenn es ohne den Parameter dry_run gestartet wird.
Wir gehen davon aus, dass Sie die Datei immich-go und Ihren Google Takeout als ZIP-Archiv in einem Verzeichnis gespeichert haben. Das Google-Takeout-Archiv benennen Sie der Einfachheit halber in Takeout um. Dann führt der erste Befehl aus Listing 2 zu einem Trockenlauf. Der Parameter -dry-run sorgt dafür, dass Immich den Vorgang nur simuliert. Sie erhalten eine Anzeige, was das Skript bei einem echten Durchlauf erledigen würde. Erfüllt das Ihre Erwartungen, entfernen Sie -dry-run aus dem Befehl. Sollten Sie auf Google Photos keine Ordnerstruktur angelegt haben, lässt sich auch -create-albums entfernen.
Ein zweiter Anwendungsfall für Immich-go besteht darin, eine lokale Fotosammlung von Ihrem PC hin zu Immich zu kopieren. Den passenden Befehl dazu finden Sie in der zweiten Zeile. Hier gilt das bereits Gesagte analog. Weitere Parameter für Immich-go finden Sie auf Github [18]. An einer Lösung, um all dies alternativ in der grafischen Weboberfläche umzusetzen, arbeitet das Immich-Team bereits [19].
Listing 2
Upload mit Immich-go
$ ./immich-go -server=URL|Domain \ -key=API-Key upload -dry-run -create-albums \ -google-photos Takeout.zip $ ./immich-go -server=URL|Domain \ -key=API-Key upload -dry-run -create-albums \ Pfad/zur/Sammlung
Liegen Ihre Fotos in der Apple iCloud, verwenden Sie derzeit die Tools iCloud Export oder Immich-CLI auf Ihrem Apple-Gerät [20]. Neben der Server-Anwendung gibt es einige Client-Apps für Immich. Auf dem Smartphone aufgenommene Bilder landen sekundenschnell in der Web-GUI des Tools. Neben den offiziellen Apps für Android [21] und iOS [22] existiert eine Community-App für Android TV [23].
Nachdem Sie Ihre Fotos aus der Google Cloud in Immich gesichert und ein weiteres Backup angelegt haben, können Sie auf Wunsch Ihre Fotos in der Google-Photos-App auf Ihrem Smartphone löschen. Ergänzend unterbinden Sie in den Einstellungen unter dem gleichnamigen Menüpunkt die zukünftige Sicherung, sodass neu aufgenommene Fotos nicht mehr automatisch in der Google Cloud landen. Damit haben Sie eine Verbindung zu Google gekappt und nutzen fortan ersatzweise die Immich-App auf Ihrem Telefon.
Fazit und Ausblick
Immich gehört eindeutig zu den Referenzprodukten im Bereich der Open-Source-Entwicklung. Das Entwicklungstempo und die Hingabe der Entwickler, die Dokumentation [24] und der Support [25] sprechen für sich. Zunächst steckte das Team den Rahmen, den das Projekt ausfüllen soll.
Derzeit sind die Grundfunktionen implementiert und über ein Web-Interface zu erreichen. Die Funktionspalette übersteigt die von Google Photos schon jetzt. Das Hochladen der Fotos aus den Clouds von Google und Apple sowie vom heimischen Computer funktioniert derzeit noch am besten per Kommandozeile. An einer grafischen Umsetzung arbeiten die Projektverantwortlichen jedoch bereits.
In einer Demoversion [26] können Sie sich vorab ein Bild von den Funktionen und dem derzeitigen Entwicklungsstand machen. Zusätzlich vermittelt sie Ihnen einen Eindruck von weiteren Funktionen, für die der Platz in diesem Artikel nicht ausreichte. Dazu zählen etwa die Einbindung von Nvidias CUDA-Schnittstelle und die sichere Freigabe von Immich im Internet.
Die Entwickler streben eine stabile Version von Immich bis zum Jahresende an. Bis dahin sollten Sie die Warnungen auf der Webseite ernst nehmen und Ihre Fotos nicht Immich alleine anvertrauen. Wir haben zwar in den vergangenen zwölf Monaten keinen Datenverlust erlitten, jedoch wollte Immich nach einem Update nicht mehr starten. Hier mussten wir manuell eingreifen. (csi)
Infos
- Immich: https://immich.app/
- Github: https://github.com/immich-app/immich
- AGPL: https://de.wikipedia.org/wiki/GNU_Affero_General_Public_License
- FUTO: https://immich.app/blog/2024/immich-core-team-goes-fulltime/
- Google Takeout: https://support.google.com/accounts/answer/3024190
- iCloud Export: https://support.apple.com/de-de/guide/photos/phtfa50fd1ec/mac
- Doku: https://github.com/immich-app/immich/releases/tag/v1.95.0
- Hw-Transcoding: https://immich.app/docs/features/hardwaretranscoding/
- ML: https://immich.app/docs/features/ml-hardwareacceleration/
- Skripte: https://github.com/renfie/piscript/tree/main/scripts/immich
- Unraid: https://www.youtube.com/watch?v=LtNWxxM5Mzg
- Docker: https://goneuland.de/docker-docker-compose-v2-auf-debian-bullseye-11-installieren/
- Docker und Fedora: https://developer.fedoraproject.org/tools/docker/docker-installation.html
- Docker Compose und Fedora: https://developer.fedoraproject.org/tools/docker/compose.html
- Arch Linux: https://mpolinowski.github.io/docs/DevOps/Linux/2021-10-24–arch-linux-install-docker/2021-10-24/
- Extern: https://immich.app/docs/guides/external-library/
- Immich-go: https://github.com/simulot/immich-go
- Takeout: https://takeout.google.com/settings/takeout?pli=1
- Immich Pull: https://github.com/immich-app/immich/pull/9804
- Immich-CLI: https://immich.app/docs/features/command-line-interface/
- Android: https://play.google.com/store/apps/details?id=app.alextran.immich&hl=de
- iOS: https://apps.apple.com/us/app/immich/id1613945652
- Android-TV: https://play.google.com/store/apps/details?id=nl.giejay.android.tv.immich
- Dokumentation: https://immich.app/docs/overview/introduction/
- Support: https://discord.com/invite/D8JsnBEuKb
- Demo: https://demo.immich.app/auth/login





