Immich im Detail: Architektur, Backups und Datenschutzgrenzen einer selbst gehosteten Fotobibliothek
Eine praktische Analyse von mobilem Backup, REST-Diensten, Redis-Jobs, PostgreSQL, Machine-Learning-Dienst, Mediendateien, Docker-Betrieb und Wiederherstellung bei Immich.
Einordnung und aktuelles Signal
Immich ist ein selbst gehostetes System für Fotos und Videos mit Fokus auf mobiles Backup, Anzeige, Suche, Freigaben und mehrere Nutzer. Zum Erfassungszeitpunkt hatte das Repository 108.332 Stars, etwa 193 Commits auf dem Standard-Branch in 30 Tagen und ein weniger als eine Woche altes Release v3.0.3. Es ist mehr als eine Galerie: Clients, Medienverarbeitung, Metadaten, Suche und Langzeitspeicher wechseln auf die Infrastruktur des Betreibers.
Anwendungsfälle und Funktionen
Typische Anwendungen sind automatische Handy-Sicherungen für Familien, gemeinsame Bibliotheken, Suche nach Ort und Metadaten, öffentliche Links sowie die Verwaltung von RAW, Live Photos und Videos. Hinzu kommen Gesichtsgruppen, CLIP-Suche, Duplikatbearbeitung, externe Bibliotheken und eine API. Die Bedienung nähert sich einem gehosteten Fotodienst, während die Infrastruktur unter eigener Kontrolle bleibt. Dafür übernimmt der Administrator Verfügbarkeit und Wiederherstellung.
Architektur und Datenfluss
Die offizielle Architektur folgt einem Client-Server-Modell. Android, iOS, Web und CLI greifen per REST auf den Server zu, der PostgreSQL, Redis, Machine Learning und Dateisystem über Schnittstellen anspricht. Redis verteilt Hintergrundjobs für Vorschaubilder, Transcoding und Erkennung. PostgreSQL hält Nutzer, Asset-Pfade und Metadaten; Originale und abgeleitete Dateien liegen im Upload-Verzeichnis. Gesichtsverarbeitung schreibt Vektoren zurück, die für Nachbarsuche und Clustering verwendet werden.
Technik und Datengrenze
Das Repository besteht überwiegend aus TypeScript. Der Web-Client nutzt SvelteKit, die mobilen Apps Flutter; Server, PostgreSQL und Redis werden um einen getrennten Machine-Learning-Dienst ergänzt. Docker Compose koordiniert Container und persistente Volumes. Die Datenbank speichert Pfade und Beziehungen, baut den vollständigen Zustand aber nicht durch einen Scan der Medienordner neu auf. Datenbank und Originaldateien gehören deshalb in denselben Wiederherstellungsplan.