Immich ist eine beliebte, selbstgehostete Open Source Foto- und Videosicherungs-Lösung, die mit Docker Compose einfach auf eigenen Servern betrieben werden kann. Besonders spannend für technisch versierte Anwender ist die Möglichkeit, die Hardwarebeschleunigung via GPU zu nutzen, um Aufgaben wie die Gesichtserkennung deutlich schneller zu verarbeiten und CPU-Ressourcen zu schonen.
Diese Anleitung zeigt Schritt für Schritt, wie du Immich mit Docker Compose installierst und dabei GPU-Support für verschiedene Grafikkarten aktivierst. Zudem erfährst du, welche Voraussetzungen nötig sind und wie du den Erfolg deiner Installation prüfen kannst.
Warum nutze ich Docker Compose?
- Alles in einer Datei: Klar strukturierte Konfiguration aller Services
- Einfache Wartung: Updates und Neustarts leicht durchführbar
- Isolation: Immich läuft in eigenen Containern, ohne dein Hostsystem zu beeinflussen
- GPU-Support leicht integrierbar: Unterschiedliche Grafikbeschleuniger können durch kleine Änderungen in der Compose-Datei eingebunden werden
Voraussetzungen
- Einen Linux- oder Windows-Server mit installiertem Docker und Docker Compose
- Idealerweise mindestens 4 GB RAM und zwei CPU Kerne
- Grafikkarte mit GPU-Unterstützung und entsprechendem Treiber:
- Intel GPUs: OpenVINO unterstützt integrierte Intel-Grafik
- AMD GPUs: ROCm für AMD-Grafikkarten (integriert oder diskret). AMD Grafikkarten aktuell nur experimentell unterstützt!
- NVIDIA GPUs: CUDA-sowie NVIDIA Container Toolkit installiert
- Lese- und Schreibrechte mind. im Speicherort der Docker-Container.
- Grundkenntnisse: Linux-Befehle und Docker-Grundlagen von Vorteil!
Immich Docker Compose Setup – Schritt für Schritt
1. Ordner anlegen
mkdir ~/immich
cd ~/immich
2. Compose- und Environment-Dateien herunterladen
Lade idealerweise die aktuellen Dateien von Immich herunter, da diese immer auf dem aktuellsten Stand sein sollten. Anpassungen kannst du danach noch vornehmen, um unter anderem die GPU Unterstützung zu aktivieren:
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
3. `.env`-Datei anpassen
- Passwörter, User und Namen einstellen
- Bei Bedarf: Zeitzone (`TZ`) setzen und Speicherorte ändern (normalerweise keine Anpassungen erforderlich)
4. Externer Speicher einbinden
Optional kann eine externer Speicher eingebunden werden. Passe hierzu docker-compose.yml bei Bedarf an. Tipp: Die Nutzung eines entsprechenden Ordners, der auch per SMB erreichbar ist, vereinfacht den Upload von Bildern nach Immich.
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
# Optional für externen Speicher
- /mnt/shares/EXTERNER_ORDNER/:/usr/src/app/EXTERN
[...]
5. GPU Unterstützung aktivieren
Nun kann optional die GPU Unterstützung in der docker-compose.yml Datei konfiguriert werden. Anbei die Beispiele für integrierte Intel-GPUs und für Nvidia Grafikkarten. Es werden auch andere – teilweise experimentell – unterstützt. Prüfe hier idealerweise die offizielle Dokumentation.
immich-machine-learning:
container_name: immich_machine_learning
# Image spezifisch für integrierte Intel GPUs
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-openvino
# Device übergeben, speziell für integrierte Intel (OpenVINO) und AMD (ROCm) GPUs
devices:
- /dev/dri:/dev/dri
# AMD ist aktuell experimentell, bitte aktuelle Doku checken (auch für andere GPUs):
# https://immich.app/docs/features/ml-hardware-acceleration/
# Für NVIDIA GPUs bitte folgenden Abschnitt nutzen und oben image und device entfernen
# image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]
# runtime: nvidia
# devices:
# - /dev/nvidia0:/dev/nvidia0
# - /dev/nvidiactl:/dev/nvidiactl
# - /dev/nvidia-uvm:/dev/nvidia-uvm
# - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools
[...]
6. Container starten
Starte alle Container mit:
docker compose up -d
Überprüfung & Erfolgskontrolle
Container-Status prüfen
docker compose ps
Alle Services (`immich_server`, `immich_machine_learning`, `redis`, `immich_postgres`) sollten im Zustand `running` sein.
Log-Ausgaben überwachen
Nutze `docker logs -f immich_machine_learning`, um zu überprüfen, ob GPU-Beschleunigung erkannt wird (z. B. „CUDAExecutionProvider“).
Web-Interface öffnen
Greife im Browser auf `http://<SERVER-IP>:2283` zu und melde schließe die Konfiguration im Browser ab. Teste Uploads und die Gesichtserkennung, um sicherzugehen, dass alles funktioniert.
Fazit
Mit Docker Compose und aktivierter GPU-Unterstützung betreibst du Immich einfach, effizient und skalierbar. So nutzt du die Vorteile von Hardwarebeschleunigung für schnellere KI-Aufgaben und schonst die CPU. Die übersichtliche Konfiguration erleichtert Updates und Anpassungen und ist ideal für technisch anspruchsvolle Selbsthoster.
Starte noch heute mit dem Immich Docker Compose Setup inklusive GPU-Support und sichere deine Fotos intelligent und performant auf deinem Server. Passe `.env` und Compose-Datei an deine Bedürfnisse an und profitiere von der Hardwarebeschleunigung!
Falls du auch WordPress mit HTTPS und Traefik installieren möchtest, schaue hier vorbei.