PhotoPrism oder Immich: Welcher Fotoserver passt?
PhotoPrism indiziert vorhandene Ordner, Immich ersetzt Google Photos. Vergleichen Sie RAM-Bedarf, Smartphone-Apps, Karten sowie Backup-Befehle für den VPS.
PhotoPrism vs Immich: die kurze Antwort
PhotoPrism vs Immich ist eine Entscheidung zwischen zwei unterschiedlichen Aufgaben, nicht zwischen zwei Versionen desselben Produkts. Immich ersetzt Google Photos: Eine Smartphone-App sichert Ihre Kamerafotos automatisch, und die Zeitleiste wirkt für alle vertraut, die eine Smartphone-Galerie ersetzen möchten. PhotoPrism organisiert eine bereits vorhandene Fotobibliothek: Es indiziert Dateiordner auf dem Datenträger, liest deren Metadaten, zeigt die Dateien auf einer Karte an und lässt sie 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 Projekte sind Open Source, laufen als Docker-Container auf einem gewöhnlichen VPS und indizieren und durchsuchen Ihre Bibliothek, ohne Daten an Dritte zu senden.
Die Aufteilung der Konzepte und warum sie alles entscheidet
Immich verwaltet die Dateien. Sie geben einen Upload-Speicherort an. Die Smartphone-App oder der Web-Uploader lädt die Originale hoch. 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 ermöglicht die gute Smartphone-Erfahrung. Der Server kennt dadurch immer den vollständigen Zustand jedes Assets.
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 tragen dieselben Namen. PhotoPrism hat daneben YAML-Sidecar-Dateien angelegt, die die ermittelten Informationen enthalten.
Dieser eine Unterschied erklärt den größten Teil der übrigen Unterschiede. Immich bietet eine starke mobile Unterstützung, weil es die Aufnahme und Speicherung der Dateien kontrolliert. PhotoPrism eignet sich besser für die Pflege einer Bibliothek, weil es Ihre vorhandene Struktur nicht verändert. 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.
Hardwarebedarf: Immich benötigt mehr
Die dokumentierten Mindestwerte für 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 Rechner mit 4 GB nur mit deaktiviertem maschinellem Lernen betrieben werden kann. PhotoPrism dokumentiert 3 GB physischen Arbeitsspeicher und zwei CPU-Kerne. Außerdem soll die RAM-Größe der Anzahl der CPU-Kerne entsprechen.
Der Unterschied ist real. Er entsteht durch den Container für maschinelles Lernen. Immich führt seine Modelle in einem separaten immich-machine-learning-Dienst aus. Dieser lädt CLIP-Modelle (contrastive language image pretraining) und Modelle zur Gesichtserkennung in den Arbeitsspeicher. Auf einem Rechner mit 2 GB beendet der Kernel diesen Container. Im Anschluss sehen Sie den Exit-Code 137. Das entspricht unter Docker einem Beenden wegen zu wenig Arbeitsspeicher. Die TensorFlow-Modelle von PhotoPrism sind kleiner. Bei zu wenig Speicher werden Funktionen deaktiviert, statt dass der Dienst beendet wird. Auf Rechnern mit 1 GB oder weniger deaktiviert PhotoPrism die RAW-Konvertierung und TensorFlow, anstatt abzustürzen.
Beide Projekte verlangen Swap. In der Dokumentation von PhotoPrism werden ausdrücklich mindestens 4 GB Swap auf dem Server empfohlen. Richten Sie 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 jetzt 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 wird sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 als Fallback verwendet. Auch Begrenzungen für den Container-Arbeitsspeicher sind hier wichtig. Mit Speichergrenzen in Docker Compose festlegen verhindern Sie, dass ein einzelner speicherintensiver Dienst den gesamten Rechner überlastet.
Eine weitere Anforderung wird häufig übersehen. Die Postgres-Datenbank von Immich muss auf einem normalen Unix-Dateisystem mit echten Besitz- und Zugriffsrechten und auf lokalem Speicher liegen. Eine Netzwerkfreigabe darf nicht verwendet werden. Für die Datenbankdateien von PhotoPrism gilt dasselbe. Keine der beiden Anwendungen sollte mit einer Datenbank auf einem eingebundenen Object Store betrieben werden.
Installation der einzelnen Anwendungen
Beide Installationen bestehen aus einer Compose-Datei des Anbieters 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 seine Compose-Datei und eine Beispiel-Umgebungsdatei mit jedem Release.
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 etwas starten. In UPLOAD_LOCATION werden Ihre Originaldateien gespeichert. DB_PASSWORD müssen Sie mit ausschließlich den Zeichen A-Za-z0-9 vom Standardwert ändern, 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. Öffnen Sie die Seite daher und registrieren Sie das Konto sofort, statt eine ungeschützte 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 anfänglichen Passwort aus dieser Datei. Die Mindestlänge beträgt 8 Zeichen. Der Standardwert darf auf einem öffentlichen Server niemals verwendet werden. Setzen Sie gleichzeitig das Volume originals auf den Ordner, in dem Ihre Fotos gespeichert sind.
docker compose up -d
docker compose logs -f photoprismPhotoPrism ist unter Port 2342 mit dem Benutzer admin erreichbar. Keine der beiden Anwendungen sollte direkt dem Internet ausgesetzt werden. Schalten Sie einen Reverse Proxy mit TLS (Transport Layer Security) davor. Die Konfiguration entspricht der Einrichtung für ein selbst gehostetes Nextcloud mit Docker, TLS und Backups.
Welche App ist auf dem Smartphone besser?
Hier 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 mit einem Smartphone dokumentiert das Projekt WebDAV (Web Distributed Authoring and Versioning) als vorgesehenen Weg. Es empfiehlt dafür eine Drittanbieter-App namens PhotoSync, die auf das Verzeichnis /import/ oder /originals/ über WebDAV zugreift. Das funktioniert. Die Aufgabe übernimmt jedoch eine kostenpflichtige Drittanbieter-App, die Immich in seinem eigenen Client integriert.
Wenn die automatische Sicherung von Smartphone-Fotos für mehrere Familienmitglieder erforderlich ist, ist die Entscheidung eindeutig: Immich.
Was maschinelles Lernen tatsächlich leistet
Immich führt mit CLIP eine semantische Suche in Ihrer Bibliothek durch. Eine Abfrage wie „rotes Fahrrad im Schnee“ findet dadurch Fotos, die niemand zuvor mit Tags versehen hat. Außerdem erkennt und gruppiert Immich Gesichter und erkennt Duplikate. Das Indizieren eines großen Imports auf der CPU läuft im Hintergrund mehrere Stunden. 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 die Funktion, wegen der viele Nutzer bei PhotoPrism bleiben. Eine nach Aufnahmeort indizierte Bibliothek bietet eine grundlegend andere Möglichkeit, zwanzig Jahre an Fotos zu durchsuchen. Gesichtserkennung ist in der kostenlosen Community Edition enthalten. Die kostenpflichtigen Essentials- und Plus-Mitgliedschaften bieten zusätzliche Funktionen wie detailliertere Kartenebenen, weitere Benutzerrollen und eine Benutzerverwaltungsoberfläche. Stand Juli 2026 beginnen die Preise bei einigen Euro pro Monat.
Immich ist vollständig kostenlos und bietet keine kostenpflichtige Stufe. Der Kern von PhotoPrism ist kostenlos. Zusätzliche kostenpflichtige Funktionen sind optional.
Backups entscheiden, ob Sie die Daten behalten
Ein Fotoserver ohne Backup ist nur einen Festplattenausfall davon entfernt, alles zu verlieren, was eine Familie besitzt. Beide Anwendungen benötigen zwei Backups: die Datenbank und die Dateien.
Für Immich sichern Sie die Datenbank aus dem Postgres-Container und kopieren 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 mit einem Rechenaufwand von mehreren Stunden. Ein Datenbankdump allein stellt nichts wieder her, weil er nur Metadaten enthält.
Für PhotoPrism verfügt der Index über einen eigenen Befehl.
docker compose exec photoprism photoprism backup -i -fDamit wird unter storage/backup/ ein SQL-Dump erstellt. Kopieren Sie anschließend den Ordner originals und den Ordner storage. PhotoPrism schreibt außerdem YAML-Begleitdateien, die jedes Foto beschreiben. Daher kann ein verlorener Index allein aus den Dateien neu erstellt werden. Das ist ein wichtiger Vorteil für ein Archiv, das Sie über Jahrzehnte aufbewahren möchten.
Unabhängig von Ihrer Wahl übertragen Sie diese Backups nach einem Zeitplan vom Server auf einen anderen Speicherort, und zwar mit verschlüsselten, deduplizierten restic-Backups auf entfernten Speicher. Ein Backup auf derselben Festplatte wie die Bibliothek ist kein Backup.
Welche Anwendung sollten Sie ausführen?
Führen Sie Immich aus, wenn sich Ihre Fotos auf Mobiltelefonen befinden, wenn mehr als eine Person eine Kamerarolle sichern muss und wenn Sie dem Server 6 GB RAM oder mehr 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 beschreibt Speicherabbrüche und typische Probleme bei Upgrades ausführlich.
Führen Sie PhotoPrism aus, wenn Sie bereits ein Fotoarchiv auf dem Datenträger haben, wenn Ihnen Karten, Metadaten und 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 Auslagerungsaktivität betreiben möchten. PhotoPrism eignet sich besser zum Kuratieren und belastet kleinere Systeme weniger.
Der Betrieb beider Anwendungen ist ebenfalls sinnvoll. Immich übernimmt das tägliche Importieren von Mobiltelefonen. Einmal pro 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 einen originals-Ordner und schreibt YAML-Begleitdateien neben Ihre Bilder. Immich erwartet dagegen, dass es den Inhalt seines Upload-Speicherorts verwaltet. Sie können PhotoPrism auf eine schreibgeschützte Kopie des library-Ordners von Immich verweisen, um die Bilder zu durchsuchen. Lassen Sie jedoch nicht beide Anwendungen dieselben Dateien verwalten. Das Speichervorlagenformat von Immich kann Assets unter PhotoPrism verschieben oder umbenennen, während PhotoPrism sie indiziert.
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 inkompatible Änderungen. 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 Machine-Learning-Dienst, der mit dem Code 137 beendet wird. Das ist der Out-of-Memory-Killer des Kernels. Fügen Sie Swap hinzu oder setzen Sie ein Speicherlimit für den Container, 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 übrige Teil von Immich läuft jedoch problemlos.
Benötigt PhotoPrism MariaDB, oder reicht SQLite aus?
SQLite funktioniert und ist für eine persönliche Bibliothek geeignet. PhotoPrism beschränkt sich damit jedoch auf vier Worker. Die Dokumentation empfiehlt den Wechsel zu MariaDB, weil MariaDB eine höhere gleichzeitige Auslastung besser verarbeitet. Die vom Projekt bereitgestellte 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. Eine Sammlung mit 200 GB benötigt ungefähr ein Volume mit 300 GB, wenn Sie Platz für die Datenbank, die lokale Sicherungskopie und weiteres Wachstum lassen.