Immich installieren: iCloud-Fotos selbst hosten
Immich mit Docker auf Raspberry Pi 5 oder Mini-PC installieren, die Mediathek aus Apple Fotos importieren und das iPhone automatisch sichern.
Von Nathan Base
Wer seit Jahren mit dem iPhone fotografiert, landet irgendwann bei 200 GB oder 2 TB iCloud+ und zahlt jeden Monat dafür. Immich ist die Open-Source-Antwort darauf: eine Fotocloud, die sich anfühlt wie Google Fotos oder die Fotos-App, mit Zeitstrahl, Gesichtserkennung, Suche nach Inhalten („Hund am Strand“), Alben zum Teilen und einer iPhone-App, die neue Bilder automatisch hochlädt. Der Unterschied ist, dass alles auf Deiner eigenen Hardware liegt.
Diese Anleitung bringt Immich mit Docker auf einen Raspberry Pi 5 oder einen kleinen Mini-PC, holt Deine vorhandene Mediathek aus Apple Fotos hinein und richtet die automatische Sicherung vom iPhone ein. Stand ist Immich 3.3.6 vom November 2026. Die Befehle folgen der offiziellen Immich-Dokumentation zur Installation mit Docker Compose.
Welche Hardware Du brauchst
Immich besteht aus mehreren Containern: dem Server, einer Postgres-Datenbank, Redis und einem Container für maschinelles Lernen, der Gesichter erkennt und Bilder durchsuchbar macht. Das ist mehr Last als bei einem kleinen Dienst wie Pi-hole, und die offiziellen Anforderungen von Immich sind entsprechend deutlich:
| Bauteil | Minimum | Empfohlen |
|---|---|---|
| Arbeitsspeicher | 6 GB | 8 GB |
| CPU-Kerne | 2 | 4 |
| Betriebssystem | 64-Bit-Linux (Debian, Ubuntu, Raspberry Pi OS) | dasselbe |
| Datenbank | lokale SSD | lokale SSD, nie eine Netzwerkfreigabe |
Für den Raspberry Pi 5 heißt das: Nimm das Modell mit 8 GB oder 16 GB Arbeitsspeicher und boote von einer NVMe-SSD, nicht von der microSD-Karte. Die Datenbank schreibt ständig kleine Blöcke, und das hält eine SD-Karte nicht lange durch. Wie der Umstieg geht, zeigt Raspberry Pi 5 von NVMe-SSD booten statt microSD-Karte. Mit nur 4 GB läuft Immich laut Doku auch, dann aber ohne maschinelles Lernen, also ohne Gesichter und ohne Inhaltssuche.
Ein Mini-PC mit Intel N150 und 16 GB ist die entspanntere Wahl, vor allem bei großen Mediatheken. Der erste Import einer Mediathek mit 50.000 Bildern lastet einen Pi 5 über viele Stunden aus, weil jedes Bild Vorschauen, Gesichtserkennung und Suchindex durchläuft. Auf dem Mini-PC geht das spürbar schneller, und mit OpenVINO kann Immich die integrierte Intel-Grafik dafür nutzen. Was beide Varianten im Dauerbetrieb an Strom kosten, steht in Raspberry Pi 5 oder Mini-PC für Home Assistant?.
Für die Fotos selbst rechnest Du mit der Größe Deiner Mediathek plus 10 bis 20 Prozent für Vorschaubilder und umgewandelte Videos. Die Datenbank bleibt mit 1 bis 3 GB klein.
Docker installieren
Falls auf dem Gerät noch kein Docker läuft, installierst Du es mit dem offiziellen Skript von Docker. Melde Dich per SSH am Pi oder Mini-PC an und lade das Skript herunter:
curl -fsSL https://get.docker.com -o get-docker.shFühre es danach mit Root-Rechten aus. Es richtet die Paketquelle von Docker ein und installiert Docker Engine samt Compose-Plugin:
sudo sh get-docker.shDamit Du nicht vor jeden Docker-Befehl sudo schreiben musst, nimmst Du Deinen Benutzer in die Gruppe docker auf:
sudo usermod -aG docker $USERMelde Dich einmal ab und wieder an, damit die Gruppenzugehörigkeit greift. Prüfe dann, ob Compose vorhanden ist:
docker compose versionEs muss eine Versionsnummer erscheinen. Wichtig ist die Schreibweise mit Leerzeichen: Immich unterstützt nur docker compose, das alte docker-compose mit Bindestrich funktioniert nicht mehr.
Immich installieren
Lege einen Ordner für Immich an und wechsle hinein:
mkdir ./immich-app
cd ./immich-appLade die beiden Dateien aus dem aktuellen Release herunter. Die erste beschreibt alle Container, die zweite enthält Deine Einstellungen:
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Öffne die Datei .env im Editor:
nano .envVier Zeilen passt Du an:
UPLOAD_LOCATIONist der Ordner für alle Fotos und Videos. Trag hier einen Pfad auf dem großen Laufwerk ein, zum Beispiel/mnt/fotos/immich.DB_DATA_LOCATIONist der Ordner der Datenbank. Lass ihn auf der lokalen SSD, der Standard./postgrespasst.- Bei
# TZ=Etc/UTCentfernst Du die Raute und schreibstTZ=Europe/Berlin, damit Zeitangaben stimmen. DB_PASSWORDersetzt Du durch ein eigenes Passwort aus Buchstaben und Ziffern, ohne Sonderzeichen und Leerzeichen.
Die Zeile IMMICH_VERSION=v3 bleibt, wie sie ist. Damit bekommst Du bei Updates alle Versionen der Reihe 3, aber keinen Sprung auf eine neue Hauptversion, die vielleicht Umbauten braucht. Speichere mit Strg + O, bestätige mit Enter und schließe nano mit Strg + X.
Starte jetzt alle Container im Hintergrund:
docker compose up -dDocker lädt beim ersten Mal rund 2 bis 3 GB an Images herunter, das dauert auf dem Pi ein paar Minuten. Ob alles läuft, siehst Du mit:
docker compose psAlle Container sollten den Status running oder healthy haben.
Ersten Benutzer anlegen und Speichervorlage einstellen
Öffne im Browser http://<IP-des-Geräts>:2283 und klicke auf Getting Started. Der erste Benutzer, den Du anlegst, wird automatisch Administrator. Weitere Konten für Familienmitglieder legst Du später unter Administration > Users an.
Bevor Du Fotos hochlädst, lohnt sich eine Einstellung, die später viel Arbeit spart. Unter Administration > Settings > Storage Template aktivierst Du die Speichervorlage. Immich legt die Dateien dann in sprechenden Ordnern nach Jahr und Datum ab, statt in Ordnern mit kryptischen IDs. Sollte Immich irgendwann nicht mehr laufen, findest Du Deine Fotos so trotzdem auf der Platte wieder, sortiert und mit Originalnamen.
Die Mediathek aus Apple Fotos übernehmen
Der zuverlässigste Weg führt über den Mac. Damit dort wirklich alle Originale liegen und nicht nur Vorschauen aus der iCloud, öffnest Du in der Fotos-App die Einstellungen, gehst auf iCloud und wählst Originale auf diesen Mac laden. Je nach Mediathek dauert der Download einige Stunden, und Du brauchst entsprechend freien Platz auf dem Mac oder einer externen SSD.
Danach markierst Du alle Fotos mit Cmd + A und wählst Ablage > Exportieren > Unbearbeitete Originale exportieren …. So bekommst Du die Dateien in Originalqualität mit allen Metadaten wie Aufnahmedatum und Ort. Live Photos kommen als Bild und kurzes Video, Immich fügt beide wieder zusammen.
Für den Upload nutzt Du das offizielle Kommandozeilenwerkzeug von Immich. Es braucht Node.js 22 oder neuer, das Du auf dem Mac mit Homebrew installierst. Danach installierst Du das Werkzeug:
npm i -g @immich/cliIn der Weboberfläche erstellst Du unter Deinem Profil in den Account Settings bei API Keys einen neuen Schlüssel. Mit ihm meldest Du das Werkzeug an Deinem Server an. Die Adresse endet dabei auf /api:
immich login http://192.168.178.50:2283/api DEIN-API-SCHLUESSELMach zuerst einen Probelauf. Der Befehl prüft alle Dateien im Exportordner, lädt aber nichts hoch:
immich upload --dry-run --recursive ~/Pictures/Export/Stimmt die Anzahl, startest Du den echten Upload:
immich upload --recursive ~/Pictures/Export/Das Werkzeug berechnet für jede Datei eine Prüfsumme und überspringt alles, was schon auf dem Server liegt. Du kannst den Upload also abbrechen und später einfach neu starten. Nach dem Upload arbeitet der Server noch eine Weile im Hintergrund. Unter Administration > Jobs siehst Du, wie viele Bilder noch auf Vorschauen, Gesichtserkennung und Suchindex warten. Starte große Importe deshalb am besten abends und lass das Gerät über Nacht rechnen.
iPhone automatisch sichern
Installiere die App Immich aus dem App Store und melde Dich mit der Serveradresse http://<IP-des-Geräts>:2283 an. Tippe oben rechts auf das Wolkensymbol, wähle die Alben aus, die gesichert werden sollen, in der Regel das Album mit allen Aufnahmen, und tippe ganz unten auf Enable Backup.
Damit die App auch im Hintergrund hochlädt, muss unter Einstellungen > Allgemein > Hintergrundaktualisierung der Schalter für Immich an sein. iOS entscheidet trotzdem selbst, wann es die App im Hintergrund laufen lässt. Am zuverlässigsten läuft die Sicherung, wenn das iPhone nachts am Ladekabel im WLAN hängt. Standardmäßig lädt die App nur im WLAN hoch, was für Videos auch sinnvoll ist.
Ein Punkt verwirrt viele: Liegen Fotos auf dem iPhone nur als Vorschau, weil iPhone-Speicher optimieren in den iCloud-Einstellungen aktiv ist, lädt die Immich-App die Originale zuerst aus der iCloud in ihren Zwischenspeicher. Das funktioniert, braucht aber Zeit und Datenvolumen. Wenn Du die Mediathek schon über den Mac importiert hast, erkennt die App diese Bilder über die Prüfsumme und überspringt sie.
Von unterwegs erreichbar machen
Im Heimnetz reicht die IP-Adresse. Damit die iPhone-App auch unterwegs sichert und Du Alben teilen kannst, muss Immich von außen erreichbar sein. Öffne dafür keinen Port im Router. Der einfachste sichere Weg ist ein privates VPN wie Tailscale, bei dem nur Deine eigenen Geräte den Server sehen. Die App kann dann im WLAN die lokale Adresse und unterwegs die Tailscale-Adresse nutzen. Wie das für einen Server zu Hause funktioniert, zeigt Home Assistant von unterwegs: Tailscale oder Cloudflare, und das Vorgehen ist für Immich dasselbe.
Sichern, bevor Du iCloud kündigst
Immich ersetzt die Cloud, aber kein Backup. Liegt die einzige Kopie Deiner Fotos auf einer SSD am Pi, ist ein Defekt der Platte ein Totalverlust. Die Doku empfiehlt ausdrücklich die 3-2-1-Regel: drei Kopien, zwei verschiedene Medien, eine außer Haus. In der Praxis heißt das, den Ordner aus UPLOAD_LOCATION regelmäßig auf eine zweite Platte oder ein NAS zu sichern und Immichs automatische Datenbanksicherungen mitzunehmen, die im Unterordner backups liegen.
Behalte iCloud+ deshalb noch so lange, bis Du einmal eine Wiederherstellung aus Deinem Backup ausprobiert hast. Erst dann ist die eigene Fotocloud wirklich ein Ersatz.
Häufige Probleme
Die App zeigt „Server nicht erreichbar“. Prüfe, ob Du die Adresse mit http:// und dem Port :2283 eingegeben hast. Unterwegs funktioniert die lokale IP natürlich nicht, dafür brauchst Du den Fernzugriff von oben.
Die Gesichtserkennung findet nichts. Unter Administration > Jobs muss der Job für die Gesichtserkennung durchgelaufen sein. Auf einem Pi mit 4 GB ist das maschinelle Lernen oft abgeschaltet oder bricht wegen Speichermangel ab. Schau mit docker compose logs immich-machine-learning nach, ob dort Fehler stehen.
docker compose up meldet „unknown shorthand flag: ‘d’“. Dann ist eine veraltete Docker-Version aus der Paketquelle der Distribution installiert. Entferne sie und installiere Docker mit dem Skript von oben neu.
Updates. Wechsle in den Ordner immich-app und führe nacheinander docker compose pull und docker compose up -d aus. Lies vorher kurz die Versionshinweise auf GitHub, denn bei größeren Versionssprüngen weist Immich dort auf nötige Schritte hin.
Weiterlesen.
-
Raspberry Pi & LinuxRaspberry Pi 5 oder Mini-PC für Home Assistant?
Raspberry Pi 5, Home Assistant Green oder Mini-PC mit Intel N150: Stromverbrauch, Stromkosten pro Jahr im 24/7-Betrieb und Gesamtkosten über fünf Jahre.
Nathan Base -
Raspberry Pi & LinuxRaspberry Pi 5 von NVMe-SSD booten statt microSD-Karte
Raspberry Pi 5 mit M.2 HAT+ und NVMe-SSD: Einbau, Bootloader aktualisieren, System auf die SSD bringen und die Bootreihenfolge umstellen.
Nathan Base -
Raspberry Pi & LinuxPaperless-ngx: Papierpost scannen und automatisch ablegen
Paperless-ngx mit Docker installieren, Briefe per iPhone scannen, deutsche Texterkennung einstellen und Rechnungen automatisch sortieren lassen.
Nathan Base -
Raspberry Pi & LinuxFrigate mit Home Assistant: Kameras lokal auswerten
Frigate erkennt Personen, Autos und Tiere auf Deinen Kameras lokal ohne Cloud-Abo. Hardware, Kamerawahl, Installation und Anbindung an Home Assistant.
Nathan Base -
Raspberry Pi & LinuxMit Raspberry Pi und Server Geld verdienen: Was 2026 geht
Lässt sich mit einem Raspberry Pi oder Server 2026 noch Geld verdienen? Mining, Solo-Lotterie und Bandbreite vermieten im ehrlichen Vergleich.
Nathan Base -
Raspberry Pi & LinuxHome Assistant auf dem Raspberry Pi installieren
Home Assistant OS auf dem Raspberry Pi 4 oder 5 installieren: Image mit dem Raspberry Pi Imager schreiben, erster Start, Einrichtung im Browser und Backup.
Nathan Base