Dein privates Google Fotos: Immich ganz einfach mit Docker-Compose installieren

  Lars Müller   Lesezeit: 4 Minuten  🗪 10 Kommentare Auf Mastodon ansehen

Du möchtest gerne deine Fotos daheim haben, aber trotzdem ansehnlich präsentieren und verwalten können? Hier ist eine Anleitung wie man Immich installiert.

dein privates google fotos: immich ganz einfach mit docker-compose installieren

Fotos sind wertvolle Erinnerungen, und mit Immich kannst du sie ganz einfach selbst hosten, ohne auf Cloud-Dienste wie Google Photos angewiesen zu sein. Immich ist eine leistungsstarke Open-Source-Lösung für das Speichern, Organisieren und Teilen deiner Bilder – mit automatischer Synchronisation, KI-gestützter Gesichtserkennung und schnellen Suchfunktionen. In dieser Anleitung zeige ich dir, wie du Immich mit Docker Compose auf deinem eigenen Server installierst. So behältst du die volle Kontrolle über deine Fotos und kannst sie sicher auf deiner eigenen Hardware speichern.

Voraussetzungen

Bevor du loslegst, stelle sicher, dass folgende Voraussetzungen erfüllt sind:

  • Docker: Installiere Docker auf deinem System.
  • Docker Compose: Stelle sicher, dass Docker Compose installiert ist.

Sollte beides nicht installiert sein, nutze doch die Anleitung von Tim Moritz dazu.

Nun geht es aber los mit der Anleitung.

1. Projektverzeichnis erstellen

Zuerst muss ein Verzeichnis erstellt werden, um die Konfigurationsdateien abspeichern zu können.

mkdir /opt/immich-docker && cd /opt/immich-docker

2. Docker-Compose-Datei herunterladen

Lade die erforderliche docker-compose.yml-Datei von der offiziellen Immich-Website:

curl -o docker-compose.yml https://raw.githubusercontent.com/immich-app/immich/main/docker/docker-compose.yml

3. Umgebungsvariablen konfigurieren

Die Docker-Compose-Datei benötigt eine .env-Datei, um Umgebungsvariablen zu setzen. Du kannst eine Vorlage herunterladen:

curl -o .env https://raw.githubusercontent.com/immich-app/immich/main/docker/.env.sample

Passe die Datei nach deinen Bedürfnissen an. Öffne sie mit einem Texteditor:

nano .env 

Wichtige Variablen sind unter anderem:

  • DATABASE_USER und DATABASE_PASSWORD: Benutzername und Passwort für die PostgreSQL-Datenbank.
  • TZ=Etc/UTC: Diese auf Europe/Berlin stellen.

(Optional) hwaccel.transcoding.yml

Diese Datei wird genutzt, um Hardwarebeschleunigung (Hardware Acceleration, kurz HW Acceleration) für die Transkodierung von Videos zu aktivieren. Dabei wird die Verarbeitung von Videodateien (wie das Umwandeln in ein kompatibles Format oder das Reduzieren der Dateigröße) durch die GPU deines Systems beschleunigt, anstatt ausschließlich die CPU zu belasten.

wget -O hwaccel.transcoding.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.transcoding.yml

(Optional) hwaccel.ml.yml

Diese Datei wird verwendet, wenn keine Hardwarebeschleunigung verfügbar ist. Stattdessen wird die Videoverarbeitung vollständig von der CPU übernommen.

wget -O hwaccel.ml.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml

4. Docker-Compose-Dienste starten

Starte Immich und die zugehörigen Dienste mit Docker Compose:

docker-compose up -d

5. Status prüfen

Überprüfe, ob die Dienste ordnungsgemäß laufen:

docker-compose ps

6. Zugriff auf Immich

Rufe Immich in deinem Browser auf:

http://localhost:2283

Falls du auf einem Server arbeitest, ersetze localhost mit der IP-Adresse deines Servers.

Tipps zur Verwaltung

Dienste neu starten:

docker-compose restart

Logs anzeigen: Sieh dir die Logs eines bestimmten Dienstes an:

docker-compose logs 

Nginx auf dem Host einrichten

Damit auch alles von ausserhalb erreichbar ist, wird nun Nginx eingerichtet. Zuerst müssen die DNS-Einstellungen für die Domain vorhanden sein. Ist das erledigt, dann muss noch Folgendes getan werden.

certbot certonly --nginx -d immich.domain.tld

Danach wird eine Nginx-Konfiguration angelegt.

server {
    # Redirect all HTTP requests to HTTPS
    listen 80;
    listen [::]:80;
    server_name immich.domain.tld;

    location / {
        return 301 https://$server_name$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name immich.domain.tld;

    # Path to the SSL certificates from Let's Encrypt
    ssl_certificate /etc/letsencrypt/live/immich.domain.tld/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/immich.domain.tld/privkey.pem;

    # SSL options
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # allow large file uploads
    client_max_body_size 50000M;

    # Set headers
    proxy_set_header Host              $http_host;
    proxy_set_header X-Real-IP         $remote_addr;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # enable websockets
    proxy_http_version 1.1;
    proxy_set_header   Upgrade    $http_upgrade;
    proxy_set_header   Connection "upgrade";
    proxy_redirect     off;

    # set timeout
    proxy_read_timeout 600s;
    proxy_send_timeout 600s;
    send_timeout       600s;

    location / {
        proxy_pass http://127.0.0.1:2283;
    }

    # Optionally add security headers
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options DENY;
    add_header X-XSS-Protection "1; mode=block";
}

Jetzt die Seite aktivieren und Nginx neu starten.

ln -s /etc/nginx/sites-available/immich /etc/nginx/sites-enabled/immich
service nginx reload

Mit diesen Schritten hast du Immich erfolgreich installiert und konfiguriert. Für weitere Anpassungen und Updates empfehle ich dir, die offizielle Dokumentation zurate zu ziehen.

Ich nutze seit mehr als einem Jahr Immich, dies hat Google Fotos und Apple Photos komplett ersetzt, ebenso der Upload in meine Nextcloud. Dieser geschieht nur noch über die Immich App für iOS oder Android.

Dieser Artikel ist zuerst erschienen auf dasnetzundich.de

Tags

immich, Foto-Management-Anwendung, Docker-Container

thomas
Geschrieben von thomas am 28. April 2025 um 11:37

Schön und wie geht es nach der Installation weiter ? Wo liegen die Bilder und Videos ? Kann ein NAS als Quelle benutzt werden ?

Lars Müller
Geschrieben von Lars Müller am 28. April 2025 um 19:21

Hallo, danke erstmal für den Kommentar. Die Dateien liegen standardmäßig im Ordner Library in der Pfad wo Immich installiert wurde. Das kann man vorab in der .env Datei abändern. Ein NAS kann man nicht einbinden, es sei denn man mounted das NAS in einer /etc/fstab.

Gruß

Lars

Nyrk
Geschrieben von Nyrk am 2. Mai 2025 um 20:51

Du kannst auf den gängigsten NAS z.B. von Synology oder UGreen , wenn docker vorhanden ist, immich natürlich auch dort installieren.

Skr
Geschrieben von Skr am 28. April 2025 um 13:31

Einer DER Fragen für mich ist, warum immich und nicht Nextcloud (+Gallerie)?

Lars Müller
Geschrieben von Lars Müller am 28. April 2025 um 19:05

Immich aus dem Grunde, weil es hier eine bessere Sortierung hat als die Nextcloud Gallerie. Ebenso finde ich die Oberfläche ansprechender. Habe selbst Jahre lang Nextcloud dafür genutzt, aber ich wurde damit einfach nicht warm.

Gruß

Lars

Rainer
Geschrieben von Rainer am 29. April 2025 um 08:59

Hallo, ich benutze Memories, die App für Nextcloud. Ist viel besser als Gallery, vergleichbar mit Immich. Immich hab ich auch auf meinem Unraid-Server probiert. Ist etwas holprig bei der Installation und bei der Benutzung. Ist vielleicht auch Geschmackssache. Gruß Rainer

Lars Müller
Geschrieben von Lars Müller am 29. April 2025 um 17:27

Hi,

Hatte ich auch schon getestet. Sagte mir halt nicht so zu. Aber das ist ja Geschmacksache.

Robert
Geschrieben von Robert am 29. April 2025 um 09:23

Immich ist eine relativ neue, sich schnell entwicklende App.

Wer auf der Suche nach anderen Open Source (OS) Self-Hosting Lösungen ist oder einfach mal gucken will was es sonst noch gibt, findet hier ein paar Alternativen: https://neoxion.net/photos-images/

Thomas
Geschrieben von Thomas am 29. April 2025 um 15:11

https://ente.io/ wäre auch eine sehr gute alternative

Lars Müller
Geschrieben von Lars Müller am 29. April 2025 um 17:28

Ente ist gut. Hatte ich auch bereits getestet.