Immich mit Docker Compose und GPU-Support inklusive Beispiel

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?

Docker Compose bündelt alle notwendigen Dienste (Immich-Server, Datenbank, Redis, Machine Learning Service) in einer übersichtlichen YAML-Konfiguration. Dadurch kannst du das gesamte System mit einem einzigen Befehl starten, stoppen oder aktualisieren und sparst dir komplexe, einzeln konfigurierte Containerbefehle.
Vorteile von Docker Compose für Immich im Überblick:
  • 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

Damit Immich mit Docker Compose und GPU-Beschleunigung optimal funktioniert, benötigst du:
  • 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!
Hinweis: Je nach GPU-Hersteller unterscheidet sich die Konfiguration minimal, speziell das Device-Mapping in Docker ist unterschiedlich.

Immich Docker Compose Setup – Schritt für Schritt

1. Ordner anlegen

Lege einen Ordner an, in dem du die `docker-compose.yml` und die `.env`-Dateien speichern möchtest. Beispiel:
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.

Schreibe jetzt einen Kommentar!