
Du brauchst eine Alternative zum Google Photos?
Hier bist Du richtig.
Ich zeige Dir, wie Du Immich einrichten kannst.
Starten wir!
[toc]
Warum Google Photos nicht mehr verwenden?

- Privatsphäre: Das Hauptproblem an einem Bilderservice ist die ungewisse Privatsphäre. Die Bilder sind nicht immer Ende-zu-Ende verschlüsselt oder dies wird noch vorgegeben. Wer die Daten in seinem eigenen Bildspeicher hält, der weiß wo die Daten liegen. Nutzer berichtet davon, dass eine permanente Bannung mit Datenverlust möglich sind, wenn man gegen die AGBs verstößt. Um solche Probleme erst gar nicht zu bekommen, nutzen wir unsere eigene Hardware.
- Günstigerer Speicher: Google und iCloud sind teuer im Vergleich zu einer Festplatte, die wir mehrere Jahre nutzen können. Natürlich müssen wir etwas Arbeitszeit in die Einrichtung Pflege von einen selbstgehosteten Datenspeicher investieren, aber wir lernen dabei viel.
- Unabhängig: Du bist unabhängig von absurden Preissprüngen, unfairen AGBs, politischen Ereignissen. Dir gehört die Hardware und keiner kann darauf zugreifen.
- Höhere Performance: Du hast dedizierte Leistung und kannst Bilder im lokalen Netzwerk mit 1 Gigabits pro Sekunde hochladen.
- Kein Detailverlust: Viele Cloud-Anbieter lassen eine starke bis dezente Komprimierung über die Bilder laufen. Das spart Kosten, aber reduziert die Details. Hochwertige Drucke sind nicht mehr möglich.
- Mehr Features: Selfhosting Alternativen wie Immich sind erweiterbar und bringen coole Features mit.
Was ist die Alternative Immich?

Immich ist eine Open Source Alternative für Google Photos. Du installierst die Server Komponente auf einen Server mit genügend Speicher und die App auf Dein Handy. Sobald Du ein Foto schießt, lädt die App das Bild hoch. Du kannst die Bilder in Alben sortieren, umbenennen oder löschen. Dabei musst Du keine Daten an Google weitergeben und kannst alles Bild unkomprimiert hochladen.
Installation
Docker installieren
Voraussetzungen
- Unterstützte Distribution: Debian 10+ oder Ubuntu 20.04+
- Ein normaler Benutzeraccount (kein Root!)
- Optional: Bereits installierter Docker-Client (nicht zwingend)
Schritt 1: Pakete installieren
Melde Dich als normaler Benutzer an und installiere die benötigten Pakete:
sudo apt update
sudo apt install -y uidmap dbus-user-session
Diese Tools ermöglichen den Einsatz von User Namespaces, die für Rootless Docker notwendig sind.
Schritt 2: Docker Rootless Setup-Skript ausführen
Wechsle in Dein Home-Verzeichnis und führe das offizielle Rootless-Setup-Skript aus:
curl -fsSL https://get.docker.com/rootless | sh
Dieses Skript lädt
dockerd-rootless-setuptool.sh
herunter und führt die erforderlichen Schritte aus.
Schritt 3: Umgebungsvariablen setzen
Am Ende des Skripts bekommst Du Umgebungsvariablen angezeigt. Füge sie Deiner Shell-Startdatei hinzu:
Für Bash:
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
echo 'export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock' >> ~/.bashrc
source ~/.bashrc
Für Zsh:
echo 'export PATH=$HOME/bin:$PATH' >> ~/.zshrc
echo 'export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock' >> ~/.zshrc
source ~/.zshrc
Schritt 4: Rootless Docker starten
systemctl --user start docker
Falls Du möchtest, dass Docker automatisch beim Login startet:
systemctl --user enable docker
Falls
systemctl --user
nicht funktioniert, stelle sicher, dassdbus-user-session
installiert ist und Du eine Login-Sitzung verwendest (z. B. über SSH oder Desktop).
Schritt 5: Testen
docker info
Du solltest rootless
im Abschnitt „Security Options“ sehen.
Teste das System:
docker run hello-world
Hinweise
- Rootless Docker verwendet einen anderen Socket (
$XDG_RUNTIME_DIR/docker.sock
) →DOCKER_HOST
muss korrekt gesetzt sein. - Nicht alle Features von Docker funktionieren im Rootless-Modus (z. B. bestimmte Netzwerke oder Mounts).
- Verwende
journalctl --user -u docker
für Logs.
Docker Compose
Jetzt erstellen wir eine Docker Compose (YAML-Datei mit dem Namen immich.yml) mit (füge die drei Komponenten zusammen):
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:commit-e9ff62307a42a35d7b9f6ca7171c1f4641863fe3@sha256:43a69d84ca1d8744873a2d59e21c1c4fb5c88f1d9fd64903d785d5bb1694f291
volumes:
- immichphotovolume:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
environment:
- DB_USERNAME=immich
- DB_PASSWORD=YYYYYYYYYYYÄnderndn
- DB_DATABASE_NAME=immich
- REDIS_HOSTNAME=immich_redis
ports:
- '60222:2283'
restart: always
depends_on:
- redis
healthcheck:
disable: false
...
Ein schneller Key-Value-Speicher beschleunigt die Verwendung von Immich:
...
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
healthcheck:
test: redis-cli ping || exit 1
restart: always
Die Datenbank ist eine Postgres Datenbank. Ändere das Passwort ab:
...
database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
environment:
POSTGRES_PASSWORD: YYYYYYYYÄndern
POSTGRES_USER: immich
POSTGRES_DB: immich
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- immichdatabase:/var/lib/postgresql/data
healthcheck:
test: >-
pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command: >-
postgres -c shared_preload_libraries=vectors.so -c 'search_path="$$user", public, vectors' -c logging_collector=on -c max_wal_size=2GB -c shared_buffers=512MB -c wal_compression=on
restart: always
volumes:
immichphotovolume:
immichdatabase:
Für HTTPS / Verschlüsselung solltest Du noch einen Reverse Proxy wie NGINX Proxy Manager https://nginxproxymanager.com verwenden. Zum Testen reicht die HTTP Version aus. Sobald Du die Software produktiv verwenden willst ist, ein Reverse-Proxy Pflicht.
Start die Docker Compose:
docker-compose up -f immich.yml
Erstes Booten
Rufe im Browser die URL http://localhost:60222 auf. Falls Du Immich auf einen anderen Server nutzt, ersetze localhost durch die passende IP oder Domain bei einem Reverse Proxy.
Du musst zuerst das Admin-Passwort setzen. Fahre mit der Einrichtung fort.
Du landest in der Hauptansicht, in dem Du alle Bilder ansehen kannst, die verfügbar sind. Auf der linken Seite kannst Du durch die Alben klicken.
Als Admin kannst Du weitere Account erstellen, sodass Familie und Freunde von der Alternative profitieren können. Stelle ein Gigabyte-Budget ein.

Synchronisieren von Bildern
Installiere die Immich App für Dein Smartphone https://github.com/immich-app/immich/releases . Die App braucht zu Beginn Deinen Nutzernamen und Passwort für den Account den Du verwenden willst.
Erweiterungen
Offizielle Funktionen & Erweiterungen
- XMP Sidecar-Unterstützung: Immich kann XMP-Sidecar-Dateien erkennen und deren Metadaten extrahieren. Dies ermöglicht eine nicht-invasive Bearbeitung von Metadaten, ohne die Originalmedien zu verändern.
- Gesichtserkennung & manuelles Tagging: Ab Version 1.127 können Gesichter auf Fotos manuell markiert werden, um die automatische Gesichtserkennung zu ergänzen. Dies ist besonders nützlich, wenn das maschinelle Lernmodell eine Person nicht erkennt oder ein Gesicht falsch zuordnet.
- Erinnerungen (Memories): Die Erinnerungsfunktion wurde verbessert, indem Erinnerungen vorgeneriert werden, was zu einer schnelleren Ladezeit führt. Nutzer können nun den Inhalt dieser Erinnerungen mögen und ändern.
- Sternbewertung & erweiterte Suche: Mit der Einführung der Sternbewertungsfunktion können Nutzer ihre Bilder bewerten und die Mediathek effizienter verwalten.
- Tagging & Ordneraktionen: Version 1.124 führte die Möglichkeit ein, Tags direkt aus dem Modell „Tag Assets“ zu erstellen. Zudem wurden Mehrfachauswahl-Aktionen in der Ordneransicht eingeführt, um gängige Aufgaben wie Herunterladen, Datum ändern oder Löschen effizienter zu gestalten.
Community-Projekte & Integrationen
- Immich Power Tools: Ein inoffizieller Client, der erweiterte Funktionen zur Organisation und Verwaltung von Immich-Konten bietet. Er erleichtert das Tagging von Personen und das Management von Alben.
- Lightroom-Plugins: Es gibt mehrere Plugins, wie „mi.Immich.Publisher“ und „lrc-immich-plugin“, die eine nahtlose Integration zwischen Adobe Lightroom und Immich ermöglichen. Nutzer können Fotos direkt aus Lightroom in Immich-Alben veröffentlichen oder exportieren.
- Immich Duplicate Finder: Eine Webanwendung, die maschinelles Lernen nutzt, um nahezu identische Bilder zu identifizieren und so die Mediathek zu bereinigen.
- Immich Android TV: Eine inoffizielle App für Android TV, die es ermöglicht, Immich-Inhalte auf großen Bildschirmen anzuzeigen.
- Immich-Tools: Ein Set von Skripten, die bei der Reparatur und Wartung von Immich-Instanzen helfen, insbesondere bei Problemen mit der Datenbank oder der Medienbibliothek.
Weitere nützliche Tools
- Immich-CLI & immich-go: Tools zum Importieren von Google Photos Takeout-Archiven und zur Verwaltung von Immich über die Kommandozeile.
- Immich Kiosk: Ein leichtgewichtiges Diashow-Tool, das auf Kiosk-Geräten oder in Browsern läuft.
- Immich Downloader: Ein Skript, das eine konfigurierbare Anzahl zufälliger Fotos basierend auf Personen oder Album-IDs herunterlädt.
Schreibe einen Kommentar