Immich: Eigene Cloud für Fotos und Videos auf einem VPS installieren
Immich ist ein selbst gehosteter Dienst zum Speichern und automatischen Hochladen von Fotos und Videos. Er bietet mobile Apps, eine Weboberfläche, Alben, intelligente Suche und Gesichtserkennung, während die Mediathek auf einem von Ihnen ausgewählten Server gespeichert wird.
Im Folgenden betrachten wir die Anforderungen von Immich, die Installation unter Ubuntu mit Docker Compose, die Einrichtung von HTTPS, die Verbindung mit dem Smartphone und externe Backups.
Immich in sechs Schritten
- Einen Linux-VPS mit ausreichend RAM und Speicherplatz erstellen.
- Eine Subdomain wie
photos.example.comauf die IP-Adresse des Servers verweisen lassen. - Docker installieren und die offizielle Immich-Konfiguration herunterladen.
- Die Pfade zur Mediathek und Datenbank angeben und die Container starten.
- Den internen Port nach außen schließen und HTTPS einrichten.
- Die mobile App installieren und ein externes Backup konfigurieren.
Was ist Immich?
Immich ist eine Open-Source-Anwendung zur eigenständigen Verwaltung einer Foto- und Videomediathek. Aufnahmen werden in einer Zeitleiste dargestellt, lassen sich in Alben zusammenfassen, über die Suche finden und automatisch vom Smartphone auf den Server hochladen.
Der wichtigste Unterschied zu einem gewöhnlichen Cloud-Fotodienst ist die Kontrolle über die Serverseite. Die Dateien liegen auf Ihrem VPS oder Heimserver, dafür sind Sie selbst für freien Speicherplatz, Updates, Sicherheit und Backups verantwortlich.
| Parameter | Cloud-Fotodienst | Immich |
|---|---|---|
| Speicherort der Dateien | Beim Anbieter | Auf Ihrem Server |
| Wartung | Durch den Anbieter | Durch den Eigentümer |
| Kosten | Tarif nach Speichervolumen | VPS, Speicherplatz und Backups |
Immich ist für sich allein kein Backup. Wenn die Fotos nur auf einem einzigen VPS vorhanden sind, können ein Festplattenausfall oder versehentliches Löschen das Archiv weiterhin zerstören.
Die wichtigsten Funktionen von Immich
- Automatischer Upload. Die Android- und iOS-Apps übertragen Fotos und Videos aus ausgewählten Alben. Standardmäßig wird WLAN verwendet; bereits vorhandene Dateien werden anhand ihrer Prüfsumme übersprungen.
- Intelligente Suche. Der Dienst kann nach Personen, Ort, Datum, Kamera, Text im Bild und einer Beschreibung des Bildinhalts suchen. Gesichter werden gruppiert und können anschließend benannt werden.
- Alben und Freigaben. Unterstützt werden mehrere Benutzer, gemeinsame Alben, Partnerfreigaben sowie öffentliche Links mit Passwort und Ablaufdatum.
- Karte und Metadaten. Immich liest EXIF-Daten, zeigt den Aufnahmeort an, erstellt Erinnerungen und unterstützt Favoriten, ein Archiv und externe Bibliotheken.
Maschinelles Lernen belastet CPU und RAM besonders während des ersten Imports. Sobald Vorschaubilder und Indizes erstellt sind, fällt die alltägliche Auslastung in der Regel geringer aus.
Serveranforderungen von Immich
Die offiziellen Anforderungen der aktuellen Versionen lauten:
- ein 64-Bit-Linux- oder Unix-ähnliches System;
- mindestens 2 CPU-Kerne, empfohlen werden 4;
- mindestens 6 GB RAM, empfohlen werden 8 GB;
- Docker Engine mit dem Plugin
docker compose; - eine lokale SSD für die PostgreSQL-Datenbank;
- Speicherplatz für Originaldateien, Vorschaubilder und transkodierte Videos.
Auf einem Server mit 4 GB RAM lässt sich Immich betreiben, wenn die Funktionen für maschinelles Lernen deaktiviert werden. Für Gesichtserkennung und intelligente Suche sollten Sie von Anfang an 8 GB wählen.
Vorschaubilder und transkodierte Dateien erhöhen den Platzbedarf der Mediathek durchschnittlich um 10–20 %. Für ein Archiv mit 200 GB sollten mindestens 240–260 GB eingeplant werden. Das Datenbankverzeichnis DB_DATA_LOCATION muss auf einer lokalen SSD und nicht auf einem Netzlaufwerk liegen.
Eine praxistaugliche Startkonfiguration besteht aus 4 vCPUs, 8 GB RAM, Ubuntu 24.04 LTS und einer SSD mit 20–30 % mehr Kapazität als die ursprüngliche Mediathek. Eine separate Grafikkarte ist nicht erforderlich, kann die Verarbeitung eines großen Archivs jedoch beschleunigen.
Immich auf einem VPS installieren
Im Beispiel werden Ubuntu 24.04 und die Subdomain photos.example.com verwendet.
1. DNS einrichten und Ubuntu vorbereiten
Erstellen Sie einen DNS-Eintrag vom Typ A, der auf die IPv4-Adresse des VPS zeigt. Verbinden Sie sich anschließend per SSH:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enableSchließen Sie die aktuelle SSH-Sitzung erst, nachdem Sie eine neue Verbindung erfolgreich getestet haben.
2. Docker und Docker Compose installieren
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose versionVerwenden Sie ausdrücklich den Befehl docker compose: Das veraltete docker-compose wird vom Projekt nicht mehr unterstützt.
3. Immich herunterladen und konfigurieren
mkdir -p /opt/immich /srv/immich-data
cd /opt/immich
curl -L -o docker-compose.yml \
https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -L -o .env \
https://github.com/immich-app/immich/releases/latest/download/example.envÖffnen Sie die Datei:
nano /opt/immich/.envÄndern Sie die wichtigsten Parameter:
UPLOAD_LOCATION=/srv/immich-data
DB_DATA_LOCATION=/opt/immich/postgres
TZ=Europe/Berlin
DB_PASSWORD=REPLACE_WITH_A_LONG_PASSWORDTragen Sie Ihre eigene Zeitzone ein. Das PostgreSQL-Passwort sollte aus lateinischen Buchstaben und Ziffern bestehen; mit openssl rand -hex 24 erzeugen Sie einen zufälligen Wert. Lassen Sie die übrigen Zeilen so, wie sie in der aktuellen Datei example.env stehen.
4. Internen Port schließen und Container starten
Suchen Sie in docker-compose.yml den Port des Dienstes immich-server:
ports:
- '2283:2283'Ersetzen Sie ihn durch:
ports:
- '127.0.0.1:2283:2283'Der Port ist nun nur noch vom VPS selbst erreichbar. Starten Sie den Dienst:
cd /opt/immich
docker compose up -d
docker compose psZur Diagnose verwenden Sie docker compose logs --tail=200.
5. HTTPS mit Caddy einrichten
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
photos.example.com {
reverse_proxy 127.0.0.1:2283
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyCaddy fordert das Zertifikat automatisch an, wenn der DNS-Eintrag auf den VPS zeigt und die Ports 80 und 443 erreichbar sind. Immich muss im Stammverzeichnis einer Domain oder Subdomain betrieben werden; eine Adresse wie example.com/immich wird nicht unterstützt.
6. Administrator anlegen und Smartphone verbinden
Öffnen Sie https://photos.example.com. Der zuerst registrierte Benutzer wird zum Administrator und kann weitere Konten anlegen.
Installieren Sie Immich aus dem App Store oder von Google Play. Geben Sie auf dem Anmeldebildschirm die Adresse ohne /api ein:
https://photos.example.comWählen Sie die Alben aus und aktivieren Sie die Sicherung. Der erste Import kann einige Zeit dauern: Der Server erstellt Vorschaubilder, erkennt Gesichter, baut den Suchindex auf und verarbeitet Videos.
Immich aktualisieren
Lesen Sie vor einem Update die Versionshinweise, insbesondere beim Wechsel auf eine neue Hauptversion:
cd /opt/immich
docker compose pull
docker compose up -d
docker image pruneAktualisieren Sie zuerst die mobilen Apps und anschließend den Server. Ein Zurücksetzen der Datenbank auf eine ältere Version wird ohne gesonderte Anleitung möglicherweise nicht unterstützt.
Immich sichern
Immich erstellt automatisch PostgreSQL-Dumps. Diese enthalten jedoch nur die Datenbank und Metadaten, nicht die Fotos und Videos. Für eine vollständige Wiederherstellung müssen Sie Folgendes sichern:
- das gesamte Verzeichnis
/srv/immich-data; /opt/immich/.envunddocker-compose.yml;- die Caddy-Konfiguration.
Eine Kopie auf demselben VPS schützt nicht vor einem Festplattenausfall oder der Löschung des Servers. Übertragen Sie die Daten auf einen separaten Server, ein NAS oder einen Objektspeicher und befolgen Sie die 3-2-1-Backup-Regel. Testen Sie regelmäßig eine Wiederherstellung, statt nur zu prüfen, ob Backup-Dateien vorhanden sind.
Welcher VPS eignet sich für Immich?
Für den vollständigen Betrieb mit Gesichtserkennung und intelligenter Suche empfiehlt sich ein VPS mit mindestens 4 vCPUs und 8 GB RAM. Berechnen Sie die Festplattengröße anhand der Mediathek und berücksichtigen Sie zusätzlichen Platz für Vorschaubilder, Videos und das Wachstum des Archivs.
Für diese Aufgabe eignet sich ein Linux-VPS von tropic.host mit fester IP-Adresse und SSD-Speicher. Sie können mit einer Konfiguration mit 8 GB RAM beginnen und die Ressourcen bei wachsender Mediathek erhöhen. Speichern Sie die PostgreSQL-Datenbank auf einem schnellen lokalen Datenträger und das Backup außerhalb dieses VPS.
Ein VPS ermöglicht den Zugriff rund um die Uhr aus jedem Netzwerk. Bei einem Archiv mit mehreren Terabyte kann ein Heimserver günstiger sein, allerdings müssen Sie Stromversorgung, externen Zugriff und Redundanz selbst gewährleisten.
Einschränkungen von Immich
Selbsthosting garantiert keine Zuverlässigkeit. Ein schwaches Passwort, ein offen erreichbarer Port 2283, veraltete Container oder ein fehlendes externes Backup erhöhen das Risiko eines Datenverlusts.
Immich ist außerdem keine exakte Kopie von Google Photos oder iCloud: Die Möglichkeiten zur Bearbeitung und Hintergrundsynchronisierung unterscheiden sich, und die Analysegeschwindigkeit hängt von der Hardware ab. Testen Sie den Dienst mit einer kleinen Bibliothek, bevor Sie Ihr einziges Archiv übertragen.
Kurzes Fazit
Mit Immich erstellen Sie eine eigene Fotogalerie mit mobilem Upload, Alben, Gesichtserkennung, Suche und Freigaben. Für die aktuelle Version empfiehlt sich ein Linux-VPS mit 4 Kernen, 8 GB RAM und einer SSD mit mindestens 20–30 % zusätzlicher Kapazität.
Richten Sie nach der Installation HTTPS, Updates und ein externes Backup des Medienverzeichnisses zusammen mit der Datenbank ein. Nicht das Selbsthosting an sich, sondern das Backup schützt Ihre Fotos vor Verlust.
FAQ
Ist Immich kostenlos?
Der Immich-Server ist Open Source und kann ohne verpflichtendes Abonnement betrieben werden. Kosten entstehen für VPS, Domain, Speicherplatz und Backups.
Wie viel Arbeitsspeicher benötigt Immich?
Das offizielle Minimum beträgt 6 GB RAM, empfohlen werden 8 GB. Bei 4 GB müssen Sie das maschinelle Lernen deaktivieren.
Kann Immich ohne Domain installiert werden?
Technisch ja. Für den dauerhaften Zugriff vom Smartphone sollten Sie jedoch eine Domain und HTTPS verwenden. Dadurch werden Anmeldung und Dateiübertragung geschützt.
Ersetzt Immich ein Backup der Fotos?
Nein. Kopieren Sie die Mediathek und die Datenbank getrennt auf ein anderes Gerät oder an einen anderen Standort.
Kann ein bestehendes Fotoarchiv übernommen werden?
Ja. Dateien lassen sich über die Weboberfläche oder die CLI hochladen; alternativ kann ein Verzeichnis als externe Bibliothek eingebunden werden. Erstellen Sie vor einem umfangreichen Import eine Kopie der Quelldaten.
