Zum Inhalt springen
LabKompass – zur Startseite
SelfhostingEinsteiger6 Min. Lesezeit

Immich mit Docker installieren: Google-Fotos-Alternative selbst hosten

Immich per Docker Compose nach offizieller Anleitung aufsetzen – mit .env, Upload-Ordner, Datenbank, Handy-App, Datenbank-Backups und einem ehrlichen Blick auf Updates.

Niclas HennrichVeröffentlicht
Inhalt11 Abschnitte

Reality Check

Stand: Oktober 2026

Herstellerangabe
9 Aussagen

6 Quellen · Was die Stufen bedeuten

Kurz gesagt: Für Immich brauchst du nur zwei Dateien aus dem aktuellen Release: die docker-compose.yml und eine .env. In der .env legst du fest, wo Fotos und Datenbank liegen, und setzt ein eigenes Datenbank-Passwort. Danach startest du alles mit docker compose up -d, legst im Browser das Admin-Konto an und verbindest die Handy-App. Wichtiger als die Installation ist das, was danach kommt: ein echtes Backup der Fotos und bewusste Updates.

Grundlage dieser Anleitung ist die offizielle Dokumentation von Immich (Stand Oktober 2026, aktuelle Version v3.3.5).

Immich ist eine selbst gehostete Foto- und Videoverwaltung, die sich vom Aufbau her an Google Fotos orientiert: Die Handy-App lädt neue Bilder automatisch auf deinen eigenen Server, im Browser gibt es Zeitleiste, Alben, Karte und eine Suche, die über maschinelles Lernen (ML) auch Gesichter und Bildinhalte erkennt. Die Bilder bleiben dabei auf deiner Hardware.

Was du brauchst #

  • Einen 64-Bit-Linux-Rechner (etwa Debian oder Ubuntu) mit Docker Engine und dem Compose-Plugin. Eine vollwertige VM ist in Ordnung.
  • Genug Arbeitsspeicher: Die Dokumentation nennt mindestens 6 GB RAM und 2 CPU-Kerne, empfohlen sind 8 GB und 4 Kerne. Mit 4 GB funktioniert Immich nur, wenn du die ML-Funktionen abschaltest.Herstellerangabe
  • Speicherplatz für die Bibliothek. Vorschaubilder und umgewandelte Videos kommen laut Doku im Schnitt noch einmal 10 bis 20 Prozent obendrauf.
  • Etwa 1 bis 3 GB lokalen SSD-Speicher für die Datenbank.

Docker innerhalb eines LXC-Containers empfiehlt das Projekt nicht, und der Datenbankordner darf nie auf einer Netzwerkfreigabe liegen.Herstellerangabe Wer Proxmox nutzt, findet die Abwägung im Guide Docker in Proxmox: VM oder LXC?. Wenn dir Begriffe wie Image, Volume oder Compose noch fremd sind, lies vorher die Docker-Grundlagen.

Schritt 1: Dateien des aktuellen Releases holen #

Lege ein Verzeichnis an und lade die beiden Dateien direkt aus dem neuesten Release. Wichtig ist der Pfad releases/latest: Die Compose-Datei aus dem Hauptzweig des Repositorys passt laut Hinweis in der Datei selbst nicht unbedingt zur aktuellen Version.

mkdir ./immich-app
cd ./immich-app
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

Die Compose-Datei startet vier Container: den Immich-Server, einen Container für maschinelles Lernen, Valkey (ein Redis-kompatibler Zwischenspeicher) und eine speziell angepasste PostgreSQL-Datenbank. Die Datei selbst musst du für den Anfang nicht ändern.

Schritt 2: Die .env anpassen #

Die .env ist eine Textdatei mit Einstellungen, die Docker Compose beim Start einliest. Vier Werte sind wichtig:

# Wo deine Fotos und Videos landen – genug freier Platz nötig
UPLOAD_LOCATION=/srv/immich/library
 
# Datenbank: lokal, am besten SSD, keine Netzwerkfreigabe
DB_DATA_LOCATION=/srv/immich/postgres
 
# Zeitzone (Zeile einkommentieren)
TZ=Europe/Berlin
 
# Version: v3 folgt der aktuellen Hauptversion
IMMICH_VERSION=v3
 
# Eigenes, zufälliges Passwort – nur A-Z, a-z, 0-9
DB_PASSWORD=<PASSWORT>

Für DB_PASSWORD empfiehlt die Doku ausschließlich Buchstaben und Ziffern, weil Sonderzeichen beim Einlesen durch Docker Probleme machen können.Herstellerangabe Ein passendes Passwort erzeugst du zum Beispiel mit openssl rand -hex 24. DB_USERNAME und DB_DATABASE_NAME lässt du, wie sie sind.

Zur Version: v3 bekommt automatisch alle Updates innerhalb der Hauptversion 3. Wer jedes Update bewusst einspielen möchte, trägt stattdessen eine feste Version wie v3.3.5 ein.

Schritt 3: Starten #

docker compose up -d
docker compose ps

Achte auf das Leerzeichen: docker compose, nicht docker-compose. Das alte Compose v1 mit Bindestrich wird nicht unterstützt und scheitert an der Compose-Datei.Herstellerangabe Beim ersten Start lädt Docker mehrere Gigabyte an Images, das dauert etwas.

Schritt 4: Admin-Konto anlegen #

Öffne http://<SERVER-IP>:2283 im Browser und klicke auf Getting Started. Wer sich als Erstes registriert, wird Administrator.Herstellerangabe Erledige diesen Schritt deshalb direkt nach dem Start, bevor jemand anderes die Seite erreicht.

Weitere Konten für Familie oder Mitbewohner legst du unter Administration > Users an. Unter Administration > Settings > Storage Template kannst du außerdem festlegen, nach welchem Muster Immich die Dateien auf der Platte ablegt, etwa nach Jahr und Datum. Das hilft, wenn du später einmal ohne Immich an deine Bilder willst.

Schritt 5: Handy-App verbinden #

Die App gibt es im App Store, bei Google Play, als APK über GitHub sowie über F-Droid-Quellen. Beim ersten Start trägst du die Serveradresse ein, im Heimnetz etwa http://<SERVER-IP>:2283, und meldest dich an. Über das Wolken-Symbol öffnest du die Backup-Ansicht, wählst die Alben aus und tippst auf Enable Backup.

Damit das Hochladen auch unterwegs klappt, brauchst du einen Weg von außen ins Heimnetz. Den Port 2283 solltest du dafür nicht einfach im Router freigeben. Sicherer sind ein VPN (siehe Tailscale oder WireGuard) oder ein Reverse Proxy mit HTTPS. Für den Reverse Proxy nennt Immich eigene Anforderungen: alle Header weiterreichen, große Uploads erlauben und Immich nur auf einer eigenen (Sub-)Domain betreiben, nicht unter einem Unterpfad. Die Beispielkonfigurationen reichen außerdem WebSockets durch und heben die Zeitlimits auf 600 Sekunden an.Herstellerangabe

Schritt 6: Backups einrichten #

Hier passieren die meisten Missverständnisse. Immich macht von sich aus nur eines:

Es legt automatisch Dumps der Datenbank an, standardmäßig täglich um 2:00 Uhr, und behält die letzten 14 davon im Ordner UPLOAD_LOCATION/backups. Diese Dumps enthalten nur Metadaten, keine Fotos oder Videos.Herstellerangabe

Die Datenbank ist trotzdem unverzichtbar, denn dort stehen Alben, Gesichter, Beschreibungen und die Zuordnung zu den Dateien. Ein vollständiges Backup besteht deshalb aus zwei Teilen:

  1. Die Datenbank-Dumps aus UPLOAD_LOCATION/backups.
  2. Die Originaldateien, also mindestens die Unterordner library, upload und profile in UPLOAD_LOCATION. Die Doku empfiehlt, gleich den ganzen Ordner zu sichern; sonst musst du Vorschaubilder nach einer Wiederherstellung neu berechnen lassen.

Einen zusätzlichen Dump von Hand erzeugst du so:

docker exec -t immich_postgres pg_dump --clean --if-exists \
  --dbname=immich --username=postgres | gzip > "/pfad/zum/backup/immich-dump.sql.gz"

Für die eigentliche Sicherung brauchst du ein Backup-Werkzeug wie restic oder Borg, das den Upload-Ordner auf ein zweites Gerät und außer Haus kopiert. Am konsistentesten ist das Backup, wenn der Container immich_server währenddessen gestoppt ist. Wie viel Platz die versionierten Sicherungen über die Zeit brauchen, kannst du mit dem Backup-Speicher-Rechner abschätzen; das Grundprinzip erklärt der Guide Backup-Strategie für zuhause.

Zum Zurückspielen bietet Immich inzwischen eine Wiederherstellung über die Weboberfläche (Administration > Maintenance) sowie einen Weg über die Kommandozeile. Probier die Wiederherstellung einmal in einer Testinstanz aus, bevor du dich darauf verlässt.

Updates: Was „schnelle Entwicklung" heute bedeutet #

Immich war lange als Projekt bekannt, bei dem Updates gelegentlich Handarbeit erforderten. Inzwischen gibt es eine klare Versionsregel: Das Projekt nutzt semantische Versionierung; brechende Änderungen an API oder Deployment sollen nur noch in Hauptversionen auftreten. Ein Downgrade, selbst innerhalb einer Minor-Version, wird nicht unterstützt, und Fehlerkorrekturen werden nicht auf ältere Versionen zurückportiert.Herstellerangabe

Für dich heißt das:

  • Vor dem Wechsel auf eine neue Hauptversion (etwa v3 auf v4) die Release Notes lesen und ein Backup machen.
  • Zuerst die Handy-App aktualisieren, dann den Server.Herstellerangabe
  • Das Update selbst ist kurz:
docker compose pull && docker compose up -d
docker image prune

Typische Fehler und Lösungen #

  • unknown shorthand flag: 'd' in -d: Es ist eine veraltete Docker-Version installiert. Docker Engine aus den offiziellen Paketquellen von Docker installieren.
  • Datenbank startet nicht oder meldet Rechtefehler: Möglicherweise liegt DB_DATA_LOCATION auf einer Netzwerkfreigabe oder einem Dateisystem ohne Unix-Rechte (NTFS, exFAT). Auf eine lokale ext4-, XFS-, Btrfs- oder ZFS-Partition verschieben.
  • Uploads großer Videos brechen ab: Meist ist der Reverse Proxy schuld – Upload-Größe und Zeitlimits anheben.
  • Server überlastet beim ersten Import: Das ML-Indizieren großer Bibliotheken ist rechenintensiv. Abwarten und den Fortschritt unter Administration > Job Queues verfolgen.

Sicherheitshinweise #

  • Das Datenbank-Passwort aus der .env gehört nicht in Git oder in Forenposts.
  • Port 2283 nicht direkt ins Internet freigeben; HTTPS über Reverse Proxy oder VPN nutzen.
  • Dateien in den Speicherordnern nicht von Hand verschieben oder löschen – die Datenbank verweist auf sie.

Was heißt das für dich? #

Die Installation von Immich ist mit wenigen Befehlen erledigt. Die eigentliche Verantwortung beginnt danach: Wer Google Fotos ersetzt, übernimmt auch die Rolle des Backup-Dienstes. Plane deshalb von Anfang an ein Backup der Originale außer Haus und spiel Updates bewusst ein. Wenn du dir unsicher bist, ob sich das Selbsthosten insgesamt lohnt, hilft der Erfahrungsbericht Nextcloud selbst hosten bei der Einordnung des Aufwands.

Quellen

  1. Offizielle Dokumentation · 2026

    Docker Compose (Recommended) (externer Link, neues Fenster) — Immich

  2. Offizielle Dokumentation · 2026

    Requirements (externer Link, neues Fenster) — Immich

  3. Offizielle Dokumentation · 2026

    Post Install Steps (externer Link, neues Fenster) — Immich

  4. Offizielle Dokumentation · 2026

    Upgrading (externer Link, neues Fenster) — Immich

  5. Offizielle Dokumentation · 2026

    Backup and Restore (externer Link, neues Fenster) — Immich

  6. Offizielle Dokumentation · 2026

    Reverse Proxy (externer Link, neues Fenster) — Immich

Häufige Fragen

Wie viel RAM braucht Immich?

Die offizielle Dokumentation nennt mindestens 6 GB Arbeitsspeicher und empfiehlt 8 GB, dazu mindestens 2, besser 4 CPU-Kerne. Mit nur 4 GB lässt sich Immich betreiben, wenn du die Funktionen für maschinelles Lernen wie Gesichts- und Objekterkennung abschaltest.

Ist Immich inzwischen stabil?

Immich arbeitet nach eigenen Angaben mit semantischer Versionierung: Brechende Änderungen, etwa an der API oder am Deployment, sollen nur noch in Hauptversionen wie v2 oder v3 vorkommen. Trotzdem gilt: vor jedem größeren Update die Release Notes lesen und vorher ein Backup machen, denn ein Downgrade auf eine ältere Version wird ausdrücklich nicht unterstützt.

Sichert Immich meine Fotos automatisch?

Nein. Immich legt automatisch nur Dumps seiner Datenbank an, standardmäßig täglich um 2 Uhr in den Ordner backups innerhalb des Upload-Verzeichnisses. Die Fotos und Videos selbst musst du mit einem eigenen Backup-Werkzeug sichern, idealerweise nach der 3-2-1-Regel mit einer Kopie außer Haus.

Kann ich die Immich-Datenbank auf ein NAS legen?

Nein. Laut Dokumentation werden Netzwerkfreigaben für den Datenbankordner nicht unterstützt; er sollte möglichst auf einer lokalen SSD liegen. Die Fotobibliothek selbst (UPLOAD_LOCATION) darf dagegen auf größerem Speicher liegen, solange das Dateisystem Unix-Rechte unterstützt.

Passt dazu

Werkzeug, Übung und eigene Messung zum Thema.

Teil der Themenwelt Homeserver & Selfhosting betreiben · Abschnitt „Dienste mit Docker betreiben“

Weiterlesen