# [Anleitung] Immich (Google Photos Alternative) via Docker Compose einrichten
Hallo zusammen,
wer seine Fotos und Videos nicht Google oder Apple anvertrauen möchte, findet in **Immich** die aktuell beste selbstgehostete Fotoverwaltung. Die Performance ist dank nativer Apps (iOS & Android) absolut überragend. Das System bringt automatische Gesichtserkennung, Objekterkennung und Geocoding (Kartenansicht) direkt mit.
Hier ist der fertige Docker Compose Stack für eure eigene Immich-Instanz.
### ⚠️ Wichtige Vorbereitung vor dem Kopieren:
Achtet darauf, dass die Pfade unter
volumes (z. B.
/mnt/immich/photos) auf eurem Server existieren. Wenn ihr eure Fotos auf einer externen Festplatte oder einem Netzlaufwerk speichert, müsst ihr diesen Pfad vor dem Starten des Stacks auf euren realen Pfad anpassen.
---
### Der Docker Compose Stack
yaml
version: '3.8'
services:
immich-server:
image: ghcr.io/immich-app/immich-server:v3.1.0
container_name: immich_server
volumes:
- /mnt/immich/photos:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
environment:
- DB_HOSTNAME=database
- DB_USERNAME=postgres
- DB_PASSWORD=DEIN_SICHERES_DATENBANK_PASSWORT
- DB_DATABASE_NAME=immich
- REDIS_HOSTNAME=redis
ports:
- "2283:2283"
networks:
- immich-network
restart: always
depends_on:
- database
- redis
immich-machine-learning:
image: ghcr.io/immich-app/immich-machine-learning:v3.1.0
container_name: immich_ml
volumes:
- /mnt/immich/cache:/cache
networks:
- immich-network
restart: always
depends_on:
- database
redis:
image: docker.io/redis:6.2-alpine
container_name: immich_redis
networks:
- immich-network
restart: always
database:
image: ghcr.io/immich-app/postgres:14-vectorchord1.1.1-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
container_name: immich_database
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=DEIN_SICHERES_DATENBANK_PASSWORT
- POSTGRES_DB=immich
volumes:
- immich-db:/var/lib/postgresql/data
networks:
- immich-network
restart: always
volumes:
immich-db:
driver: local
networks:
immich-network:
driver: bridge
---
### 🌐 Einrichtung im Nginx Proxy Manager (NPM)
Um Immich sicher von unterwegs über eine Subdomain (z. B.
photos.deine-domain.de) und die Smartphone-App zu nutzen, legt ihr im NPM einen neuen **Proxy Host** an:
1. **Domain Names:**
photos.deine-domain.de
2. **Scheme:**
http
3. **Forward Hostname / IP:** Die IP eures Docker-Servers
4. **Forward Port:**
2283
5. **Websockets Support:** 🟩 **Häkchen setzen / Aktivieren!** *(Wichtig, damit die Live-Synchronisation der App mit dem Server stabil funktioniert).*
6. **SSL:** Ein neues Let's Encrypt Zertifikat anfordern und *Force SSL* sowie *HTTP/2 Support* aktivieren.
---
### 🛠️ Nginx-Erweiterung für große Video-Uploads (Advanced Settings)
Standardmäßig blockiert der Nginx Proxy Manager Uploads, die größer als ein paar Megabyte sind. Da man bei Immich aber oft lange 4K-Videos vom Smartphone hochlädt, müsst ihr das Limit im NPM anheben.
Tragt dazu im NPM bei eurem Immich-Proxy-Host im Reiter **Advanced** folgenden Code ein:
nginx
# Maximale Upload-Größe für Fotos/Videos komplett aufheben (0 = unbegrenzt)
client_max_body_size 0;
# Timeouts hochsetzen für sehr große Videodateien
proxy_read_timeout 600s;
proxy_send_timeout 600s;
proxy_send_lowat 0;