PhotoPrism oder Immich: Welcher Fotoserver passt?
PhotoPrism organisiert vorhandene Dateien, Immich sichert die Kamerarolle. Vergleichen Sie RAM, Apps, Karten und die nötigen Backup-Befehle für Ihren VPS.
PhotoPrism vs Immich: die kurze Antwort
Bei PhotoPrism vs Immich geht es um die Wahl zwischen zwei unterschiedlichen Aufgaben, nicht zwischen zwei Versionen desselben Produkts. Immich ersetzt Google Photos: Eine Smartphone-App sichert Ihre Kamerarolle automatisch, und die angezeigte Zeitleiste wirkt für alle vertraut, die eine Smartphone-Galerie hinter sich lassen. PhotoPrism organisiert eine bereits vorhandene Fotobibliothek: Es indiziert Dateiordner auf dem Datenträger, liest deren Metadaten, stellt sie auf einer Karte dar und lässt die Dateien genau dort, wo sie waren.
Wählen Sie Immich, wenn das Problem lautet: „Mein Smartphone ist voll, und ich möchte Google Photos nicht mehr verwenden.“ Wählen Sie PhotoPrism, wenn das Problem lautet: „Ich habe 400 GB Fotos auf einem Laufwerk und finde darin nichts.“ Beide Produkte sind Open Source, laufen als Docker-Container auf einem normalen VPS und indizieren und durchsuchen Ihre Bibliothek, ohne Daten an Dritte zu senden.
Die Aufteilung der Zuständigkeiten und warum sie alles bestimmt
Immich verwaltet die Dateien. Sie geben einen Upload-Speicherort an. Die Smartphone-App oder der Web-Uploader überträgt die Originale dorthin. Immich speichert sie unter einem eigenen Pfad mit einer eigenen Benennung. Die Datenbank enthält die maßgeblichen Informationen zu Alben, Gesichtern und der Suche. Dieses Design sorgt für eine gute Smartphone-Nutzung, weil der Server den vollständigen Zustand jedes Objekts kennt.
PhotoPrism liest die Dateien. Sie binden einen originals-Ordner ein, den Sie bereits selbst verwalten. PhotoPrism erstellt darüber einen Index. Ihre Verzeichnisstruktur bleibt in Ihrer Hand. Wenn Sie PhotoPrism morgen entfernen, liegen die Fotos weiterhin in denselben Ordnern und unter denselben Namen dort. PhotoPrism hat daneben YAML-Sidecar-Dateien mit Informationen darüber angelegt, was es erkannt hat.
Dieser eine Unterschied erklärt den größten Teil der übrigen Eigenschaften. Immich bietet eine starke Unterstützung für Mobilgeräte, weil es die Aufnahme und Ablage der Dateien kontrolliert. PhotoPrism eignet sich besonders für die Pflege einer Bibliothek, weil es nie mit Ihrer vorhandenen Struktur in Konflikt gerät. Immich ist die bessere Lösung für eine Familie, deren Fotos auf Smartphones liegen. PhotoPrism ist die bessere Lösung für ein Archiv, das auf einem Datenträger liegt.
Hardware-Anforderungen: Immich benötigt mehr
Die dokumentierten Mindestanforderungen an den Arbeitsspeicher liegen weit auseinander. Auf einem kleinen VPS ist das normalerweise der entscheidende Faktor.
The data behind this chart
[
{
"label": "Immich",
"min_ram_gb": 6,
"recommended_ram_gb": 8
},
{
"label": "PhotoPrism",
"min_ram_gb": 3,
"recommended_ram_gb": 4
}
]Immich nennt 6 GB RAM als Minimum und 8 GB als Empfehlung. In einem Hinweis steht, dass ein System mit 4 GB nur mit deaktiviertem Machine Learning betrieben werden kann. PhotoPrism nennt 3 GB physischen Arbeitsspeicher und zwei CPU-Kerne. Außerdem soll die RAM-Größe der Anzahl der Kerne entsprechen.
Der Unterschied ist real. Er entsteht durch den Machine-Learning-Container. Immich führt seine Modelle in einem separaten immich-machine-learning-Dienst aus. Dieser lädt CLIP (contrastive language image pretraining) und Modelle zur Gesichtserkennung in den Arbeitsspeicher. Auf einem System mit 2 GB beendet der Kernel diesen Container. In Docker sehen Sie dann den Exit-Code 137. Das weist auf eine Beendigung wegen Speichermangels hin. Die TensorFlow-Modelle von PhotoPrism sind kleiner. PhotoPrism reduziert den Funktionsumfang, statt den Betrieb zu beenden: Auf Systemen mit 1 GB oder weniger werden RAW-Konvertierung und TensorFlow deaktiviert, anstatt dass die Anwendung abstürzt.
Beide Projekte setzen Swap voraus. Die Dokumentation von PhotoPrism fordert ausdrücklich mindestens 4 GB Swap auf dem Server. Richten Sie den Swap ein, bevor Sie eine der beiden Anwendungen installieren.
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -hfree -h sollte nun eine Swap:-Zeile mit 4.0Gi ausgeben. Wenn 0B ausgegeben wird, ist swapon fehlgeschlagen. Ursache ist normalerweise, dass das Dateisystem fallocate nicht unterstützt. In diesem Fall dient sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 als Fallback. Auch Speichergrenzen für Container sind hier wichtig. Mit Speichergrenzen in Docker Compose festlegen verhindern Sie, dass ein einzelner speicherintensiver Dienst das gesamte System außer Betrieb setzt.
Eine weitere Anforderung wird häufig übersehen. Die Postgres-Datenbank von Immich muss auf einem normalen Unix-Dateisystem mit echten Besitzrechten und Berechtigungen liegen. Der Speicher muss lokal sein. Eine Netzwerkfreigabe ist nicht zulässig. PhotoPrism stellt dieselbe Anforderung an seine Datenbankdateien. Keine der beiden Anwendungen sollte ihre Datenbank auf einem eingebundenen Object Store betreiben.
So installieren Sie die einzelnen Anwendungen
Beide Installationen bestehen aus einer vom Anbieter bereitgestellten Compose-Datei und einem Befehl. Richten Sie zuerst Docker Engine und das Compose-Plugin ein, wie in unserer Anleitung zu Docker Compose auf einem VPS beschrieben.
Immich veröffentlicht mit jedem Release seine Compose-Datei und eine Beispiel-Datei für die Umgebung.
sudo mkdir -p /opt/immich && cd /opt/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.envBearbeiten Sie .env, bevor Sie irgendetwas starten. In UPLOAD_LOCATION werden Ihre Originale gespeichert. DB_PASSWORD müssen Sie vor dem Start ändern. Verwenden Sie dafür ausschließlich die Zeichen A-Za-z0-9, da Sonderzeichen die Verbindungszeichenfolge beschädigen. Starten Sie die Anwendung anschließend.
docker compose up -d
docker compose psDie Weboberfläche ist über Port 2283 erreichbar. Das erste Konto, das über diese Seite registriert wird, erhält Administratorrechte. Rufen Sie die Seite daher sofort auf und registrieren Sie das Konto, statt eine offene Instanz im Internet erreichbar zu lassen.
PhotoPrism wird mit einer Compose-Datei ausgeliefert, die MariaDB bereits enthält.
sudo mkdir -p /opt/photoprism && cd /opt/photoprism
wget https://dl.photoprism.app/docker/compose.yamlÖffnen Sie compose.yaml und ändern Sie PHOTOPRISM_ADMIN_PASSWORD vor dem ersten Start. Die Dokumentation weist ausdrücklich darauf hin: Die Anwendung startet mit dem in dieser Datei festgelegten Anfangspasswort. Die Mindestlänge beträgt 8 Zeichen. Der Standardwert darf niemals auf einem öffentlichen Server verwendet werden. Setzen Sie gleichzeitig das Volume originals auf den Ordner, der Ihre Fotos enthält.
docker compose up -d
docker compose logs -f photoprismPhotoPrism ist über Port 2342 mit dem Benutzer admin erreichbar. Keine der beiden Anwendungen sollte direkt aus dem Internet erreichbar sein. Schalten Sie einen Reverse Proxy mit TLS (Transport Layer Security) davor. Verwenden Sie dafür dieselbe Struktur wie bei einer selbst gehosteten Nextcloud mit Docker, TLS und Backups.
Welche Anwendung hat die bessere Smartphone-App
In diesem Punkt liegen die beiden Projekte am weitesten auseinander. Das ist der Grund, warum sich die meisten Nutzer für Immich entscheiden.
Immich veröffentlicht offizielle Apps für Android und iOS. Diese sichern die Kamerarolle im Hintergrund. Neue Fotos werden dadurch vom Smartphone übertragen, ohne dass jemand eine App öffnen muss. Die App benötigt einen HTTPS-Endpunkt. Wenn Sie sie außerhalb Ihres Heimnetzwerks verwenden möchten, ist ein Reverse Proxy daher erforderlich.
PhotoPrism hat keine offizielle native App. Das Projekt stellt eine Progressive Web App bereit. Sie fügen diese im Browser zum Startbildschirm hinzu. Für die Synchronisierung von einem Smartphone dokumentiert das Projekt WebDAV (Web Distributed Authoring and Versioning). Dafür empfiehlt das Projekt eine Drittanbieter-App namens PhotoSync. Diese wird über WebDAV auf das Verzeichnis /import/ oder /originals/ verwiesen. Das funktioniert. Die Aufgabe übernimmt jedoch eine kostenpflichtige Drittanbieter-App, während Immich sie direkt im eigenen Client ausführt.
Wenn die automatische Smartphone-Sicherung für mehrere Familienmitglieder erforderlich ist, ist die Entscheidung eindeutig: Immich.
Was das maschinelle Lernen tatsächlich leistet
Immich führt mithilfe von CLIP eine semantische Suche in Ihrer Bibliothek durch. Dadurch findet eine Abfrage wie „rotes Fahrrad im Schnee“ auch Fotos, die nie jemand mit Tags versehen hat. Außerdem erkennt und gruppiert Immich Gesichter und erkennt Duplikate. Das Indizieren eines großen Imports läuft auf der CPU mehrere Stunden im Hintergrund. Das ist normal und erfordert keine GPU (graphics processing unit).
PhotoPrism klassifiziert Bilder mit TensorFlow anhand von Labels, erkennt Gesichter und gruppiert sie zu Personen. Außerdem liest PhotoPrism Standortmetadaten ein und erstellt daraus eine Ortskarte. Die Karte ist das Feature, wegen dessen viele Nutzer bei PhotoPrism bleiben: Eine Bibliothek, die nach dem Aufnahmeort indiziert ist, bietet eine grundlegend andere Möglichkeit, zwanzig Jahre Fotos zu durchsuchen. Gesichtserkennung ist in der kostenlosen Community-Edition enthalten. Die kostenpflichtigen Essentials- und Plus-Mitgliedschaften bieten zusätzliche Funktionen wie detailliertere Kartenebenen, mehr Benutzerrollen und eine Benutzerverwaltungsoberfläche. Im Juli 2026 beginnen die Preise bei wenigen Euro pro Monat.
Immich ist vollständig kostenlos und bietet keine kostenpflichtige Stufe. Der Kern von PhotoPrism ist kostenlos. Zusätzliche Funktionen sind optional kostenpflichtig.
Backups entscheiden darüber, ob Sie alles behalten
Ein Fotoserver ohne Backup ist nur einen Festplattenausfall davon entfernt, alle Fotos einer Familie zu verlieren. Beide Anwendungen benötigen zwei Backups: die Datenbank und die Dateien.
Erstellen Sie für Immich einen Dump der Datenbank aus dem Postgres-Container und kopieren Sie den Upload-Speicherort.
docker exec -t immich_postgres pg_dump --clean --if-exists --dbname=immich --username=postgres | gzip > /backup/immich-db.sql.gzSichern Sie anschließend UPLOAD_LOCATION. Die Ordner mit nicht ersetzbaren Daten sind upload, library und profile. Die Ordner thumbs und encoded-video können neu erzeugt werden, allerdings auf Kosten mehrerer Stunden CPU-Zeit. Ein Datenbank-Dump allein stellt nichts wieder her, weil er nur Metadaten enthält.
Für PhotoPrism gibt es einen eigenen Befehl für den Index.
docker compose exec photoprism photoprism backup -i -fDadurch wird unter storage/backup/ ein SQL-Dump geschrieben. Kopieren Sie anschließend den Ordner originals und den Ordner storage. Da PhotoPrism zusätzlich Sidecar-YAML-Dateien mit Beschreibungen der einzelnen Fotos schreibt, kann ein verlorener Index allein aus den Dateien neu aufgebaut werden. Das ist ein erheblicher Vorteil für ein Archiv, das Sie über Jahrzehnte aufbewahren möchten.
Unabhängig von Ihrer Wahl sollten Sie diese Backups nach einem Zeitplan mit verschlüsselten, deduplizierten restic-Backups in einen entfernten Speicher vom Server übertragen. Ein Backup auf derselben Festplatte wie die Bibliothek ist kein Backup.
Welche Anwendung sollten Sie betreiben?
Betreiben Sie Immich, wenn sich Ihre Fotos auf Mobiltelefonen befinden, wenn mehrere Personen ihre Kamerabilder sichern müssen und wenn Sie dem Server mindestens 6 GB RAM zuweisen können. Immich kommt Google Photos am nächsten, lässt sich aber selbst hosten. Der Schwerpunkt liegt auf der mobilen Nutzung. Unser Schritt-für-Schritt-Installationsleitfaden für Immich behandelt Speicherabbrüche und Upgrade-Fallen ausführlich.
Betreiben Sie PhotoPrism, wenn Sie bereits ein Fotoarchiv auf dem Datenträger haben, wenn Ihnen Karten und Metadaten sowie die Beibehaltung Ihrer eigenen Ordnerstruktur wichtig sind oder wenn Ihr VPS über 4 GB RAM verfügt und Sie lieber eine funktionierende Bibliothek als eine Bibliothek mit Auslagerung verwenden möchten. PhotoPrism eignet sich besser zum Kuratieren und belastet schwächere Hardware weniger.
Sie können auch beide Anwendungen betreiben. Immich übernimmt die tägliche Übertragung von Fotos des Mobiltelefons. Einmal im Jahr sortieren Sie die zu behaltenden Fotos in Ihr Archiv ein und lassen PhotoPrism dieses Archiv indizieren. Die Anwendungen beeinträchtigen sich nicht, weil PhotoPrism Ordner liest, während Immich seine eigenen Daten verwaltet.
FAQ
Können PhotoPrism und Immich denselben Fotoordner verwenden?
Nicht sicher in beide Richtungen. PhotoPrism liest aus einem originals-Ordner und schreibt YAML-Begleitdateien neben Ihre Bilder. Immich erwartet dagegen, dass es den Inhalt seines Upload-Speicherorts verwalten kann. Sie können PhotoPrism auf eine schreibgeschützte Kopie des library-Ordners von Immich zeigen, um die Bilder zu durchsuchen. Lassen Sie jedoch nicht beide Anwendungen dieselben Dateien verwalten. Während der Indizierung kann Immichs Speichervorlage Dateien unter PhotoPrism verschieben oder umbenennen.
Ist Immich stabil genug, um die einzige Kopie meiner Fotos zu speichern?
Keine selbst gehostete Anwendung sollte jemals die einzige Kopie von irgendetwas enthalten. Immich veröffentlicht häufig Änderungen, die inkompatibel sein können. Ein unvorsichtiges docker compose pull kann dazu führen, dass die Datenbank nicht mehr startet. Fixieren Sie daher Ihre Version und lesen Sie vor einem Upgrade die Versionshinweise. Sichern Sie die Originaldateien außerhalb des Servers. Dann bleibt das Risiko gering.
Warum wird der Machine-Learning-Container von Immich ständig neu gestartet?
Der Container wird beendet, weil er zu viel Speicher verwendet. Führen Sie docker compose ps aus und suchen Sie nach dem Beenden des Machine-Learning-Dienstes mit Code 137. Dieser Code weist auf den Out-of-Memory-Killer des Kernels hin. Fügen Sie Swap hinzu oder legen Sie ein Speicherlimit für den Container fest, damit er gedrosselt statt beendet wird. Auf einem Rechner mit 4 GB können Sie Machine Learning auch vollständig deaktivieren. Die Suche funktioniert dann nicht mehr, der restliche Teil von Immich läuft jedoch weiterhin problemlos.
Benötigt PhotoPrism MariaDB, oder reicht SQLite aus?
SQLite funktioniert und ist für eine persönliche Bibliothek geeignet. PhotoPrism begrenzt sich damit jedoch auf vier Worker. Die Dokumentation empfiehlt deshalb den Wechsel zu MariaDB, weil diese Datenbank eine höhere Parallelität besser verarbeitet. Die vom Projekt veröffentlichte Compose-Datei enthält MariaDB bereits. Der empfohlene Weg ist daher zugleich der Standard.
Wie viel Speicherplatz sollte ich zusätzlich zur Größe meiner Bibliothek einplanen?
Planen Sie für beide Anwendungen zusätzlich 10 bis 20 Prozent der Größe Ihrer Originale ein. Damit sind erzeugte Vorschaubilder und transkodierte Videovorschauen abgedeckt. Für eine Sammlung von 200 GB sollten Sie ungefähr ein Volume mit 300 GB einplanen. So bleibt zusätzlich Platz für die Datenbank, die lokale Sicherungskopie und weiteres Wachstum.