Schluss mit Google Photos: Dein eigener AI-Foto-Server mit Immich & Docker
Google Photos war jahrelang der Standard für Fotospeicherung. Doch mit dem Ende des unbegrenzten Speichers und wachsenden Datenschutzbedenken suchen immer mehr Nutzer nach einer Lösung, die sie selbst kontrollieren können.
Hier kommt Immich ins Spiel. Es ist nicht nur eine einfache Galerie-App, sondern ein vollwertiger Foto-Server mit Machine Learning, automatischer Gesichtserkennung und einer exzellenten Mobile-App für iOS und Android.
Wichtig: Immich befindet sich in aktiver Entwicklung. Es ist extrem stabil, aber regelmäßige Backups sind Pflicht!
Warum Immich?
- KI-Power: Automatische Erkennung von Personen, Objekten und Szenen.
- Performance: Blitzschnelles Scrollen durch Zehntausende Fotos.
- Multi-User: Teile deine Bibliothek mit der Familie.
- Mobile Backup: Automatischer Upload deiner Handy-Fotos (genau wie bei Google).
Hands-On: Die Installation
Wir nutzen Docker Compose für ein sauberes und reproduzierbares Setup.
Schritt 1: Das Arbeitsverzeichnis vorbereiten
Erstelle einen isolierten Ordner, um keine Dateien zu vermischen:
mkdir ~/immich-app && cd ~/immich-app
Schritt 2: Docker Compose Konfiguration
Erstelle die Datei ~/immich-app/docker-compose.yml mit folgendem Inhalt. Wir nutzen hier das offizielle Template, das Redis, Postgres und die Immich-Services bündelt.
version: "3.8"
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:3001
depends_on:
- redis
- database
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: registry.hub.docker.com/library/redis:6.2-alpine
restart: always
database:
container_name: immich_postgres
image: registry.hub.docker.com/library/postgres:14-alpine
env_file:
- .env
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
volumes:
pgdata:
model-cache:
Schritt 3: Die Umgebungsvariablen (.env)
Jetzt brauchen wir die passende ~/immich-app/.env Datei. Ersetze UPLOAD_LOCATION durch den Pfad, wo deine Fotos gespeichert werden sollen.
# Datenbank-Passwort (unbedingt ändern!)
DB_PASSWORD=mein_super_geheimes_passwort
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
# Speicherort für deine Fotos
UPLOAD_LOCATION=./library
# Datenbank-Hostname (muss dem Service-Namen in docker-compose.yml entsprechen)
DB_HOSTNAME=database
# Redis-Hostname
REDIS_HOSTNAME=redis
[!TIP] Achte darauf, dass der
UPLOAD_LOCATIONOrdner existiert oder von Docker erstellt werden kann.
Schritt 4: Starten und Initialisieren
Führe den Startbefehl im Ordner ~/immich-app aus:
docker compose up -d
Sobald die Container laufen, kannst du Immich über deinen Browser aufrufen:
http://<SERVER-IP>:2283
Proof of Concept: Der erste Login
Wenn alles korrekt konfiguriert ist, erscheint der "Getting Started"-Bildschirm. Hier erstellst du dein Admin-Konto.
Verifikations-Schritt:
- Lade ein Testfoto über das Web-UI hoch.
- Gehe unter "Administration" auf "Jobs" und schaue nach, ob die "Object Detection" und "Face Detection" Jobs starten.
- Nach wenigen Sekunden sollte Immich das Foto analysiert haben.
Fazit & Nächste Schritte
Du hast nun die volle Kontrolle über deine Erinnerungen. Keine monatlichen Kosten mehr für Google One und keine Sorgen um KI-Analysen durch Dritte, auf die du keinen Einfluss hast.
Was du jetzt tun solltest:
- Installiere die Immich App auf deinem Smartphone.
- Aktiviere das "Mobile Backup", um alle neuen Bilder automatisch zu synchronisieren.
- Richte einen Reverse Proxy (z.B. Nginx Proxy Manager) ein, um sicher von unterwegs zuzugreifen.
Viel Spaß beim Self-Hosting!
Login