In Tipps & Tutorials

Im letzten Artikel haben wir Immich, die leistungsstarke Foto Cloud Lösung, detailliert vorgestellt. Im heutigen zeigen wir eine Anleitung , wie du Immich, mithilfe von Docker und Nginx Proxy Manager (NPM) installierst. Ich verwende diese Kombination bereits seit mehreren Monaten für meine umfangreiche Sammlung von 75.000 Fotos und 10.000 Videos mit ca. 550 GB. Alles läuft bei mir in einer Docker-Umgebung auf einem STRATO vServer.

Voraussetzungen

Stelle sicher, dass folgende Voraussetzungen erfüllt sind:

  • Docker und Docker Compose sind auf deinem Server installiert
  • Nginx Proxy Manager läuft bereits als Docker-Container
  • Du besitzt eine Domain oder Subdomain, die per DNS auf deinen Server verweist

Anleitung zur Installation von Immich mit Docker

1. Vorbereitung des Servers

Erstelle zunächst ein Verzeichnis für Immich und wechsle hinein:

mkdir immich && cd immich

2. Docker Compose Datei erstellen/herunterladen

Jetzt laden wir die docker-compose.yml und example.env herunter, indem wir den folgenden Befehle ausführen:

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. Anpassung der Compose bzw. ENV Datei

*.env

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Passe ggf. die folgenden Variablen an:

UPLOAD_LOCATION – Speicherort deiner hochgeladenen Dateien. Es sollte sich um ein neues Verzeichnis auf dem Server mit ausreichend freiem Speicherplatz handeln.

DB_PASSWORD – Passwort der Postgres Datenbank. Postgres ist nicht öffentlich zugänglich, daher wird dieses Passwort nur für die lokale Authentifizierung verwendet.

Wenn du eine externe Bibliothek verwenden willst, musst du diese als Volume in den beiden Immich Containern mounten Dazu den Pfad mit in die docker-compose.yml unter der Direktion volumes hinzufügen.

docker-compose.yml

volumes:

     - /mnt/local/yourfolder:/mnt/media/yourfolder:ro

Hiermit wird das Lokale Verzeichnis „/mnt/local/yourfolder“ im Docker Container unter „/mnt/media/yourfolder“ hinzugefügt und kann dann in den Immich Einstellungen als externe Bibliothek hinzugefügt werden.

4. Container starten

Starte die Container mit folgendem Befehl:

docker compose up -d

Immich sollte nun unter der internen Adresse http://<Server-IP>:2283 erreichbar sein.

Einrichtung von Nginx Proxy Manager (NPM)

Nachdem Immich läuft, richten wir nun den Zugriff über Nginx Proxy Manager ein.

1. Proxy Host in NPM anlegen

  • Öffne die Web-Oberfläche deines Nginx Proxy Managers
  • Klicke auf Hosts → Proxy Hosts → Add Proxy Host
  • Gib deine Domain ein (z.B. fotos.meinedomain.de)
  • Als Forward Host gibst du deine IP-Adresse des Servers ein und als Port 2283

2. SSL-Zertifikat aktivieren

Unter dem Tab SSL wählst du „Request a new SSL Certificate“ aus und aktivierst „Force SSL“ für sichere HTTPS-Verbindungen.

3. Erweiterte Einstellungen in NPM konfigurieren

Öffne den Reiter Advanced und füge folgenden Code hinzu, um große Datei-Uploads zu ermöglichen und optimale Performance zu gewährleisten.

client_max_body_size 50000M;

Recommended Posts

Deine Meinung