2tap2b

Immich erweitern: Public Proxy & Drop Upload

Inhaltsverzeichnis

Immich erweitern: Public Proxy & Drop Upload

Du hast Immich bereits installiert und nutzt es als deine private Foto-Cloud? Perfekt! Aber was, wenn du bestimmte Alben mit Familie oder Freunden teilen möchtest, ohne deine gesamte Instanz öffentlich zugänglich zu machen? Oder sogar anderen erlauben willst, Fotos in freigegebene Ordner hochzuladen?

Genau hier kommen zwei geniale Tools ins Spiel, die deine Immich-Installation auf ein neues Level heben.

Das Problem: Sicherheit vs. Funktionalität

Bei mir läuft Immich ausschließlich lokal oder über VPN - aus gutem Grund! Meine privaten Fotos sollen nicht einfach so im Internet erreichbar sein. Aber manchmal möchte ich trotzdem bestimmte Alben teilen oder sogar anderen ermöglichen, Fotos hochzuladen.

Die Lösung? Zwei clevere Proxy-Tools, die als sichere Brücke zwischen deiner privaten Immich-Instanz und der Außenwelt fungieren.


Die Tools im Überblick

1. Immich Public Proxy - Sichere Album-Freigaben

Der Immich Public Proxy ermöglicht es dir, einzelne Alben öffentlich zu teilen, ohne deine gesamte Immich-Instanz zu exponieren.

Was macht er besonders?

  • Nur freigegebene Alben sind von außen erreichbar
  • Deine Hauptinstanz bleibt privat und sicher
  • Einfacher Sharing-Link für Familie und Freunde
  • Keine Authentifizierung bei der Hauptinstanz nötig

2. Immich Drop - Upload-Portal für andere

Immich Drop geht noch einen Schritt weiter und bietet ein Upload-Portal, über das andere Personen Fotos direkt in deine freigegebenen Ordner hochladen können.

Die Highlights:

  • Sichere Upload-Funktion für externe Nutzer
  • Fotos landen direkt in deiner Immich-Bibliothek
  • Perfekt für Events, Hochzeiten oder Familientreffen
  • Keine Immich-Accounts für Uploader nötig

Grundvoraussetzungen

Bevor wir loslegen, stelle sicher, dass du folgende Komponenten bereits hast:


Immich Public Proxy einrichten

Projektverzeichnis erstellen

Beginnen wir mit dem Public Proxy:

mkdir /opt/containers/immich-public-proxy
cd /opt/containers/immich-public-proxy

Docker Compose Konfiguration

Erstelle die docker-compose.yml:

version: '3.8'

services:
  immich-public-proxy:
    image: ghcr.io/alangrainger/immich-public-proxy:latest
    container_name: immich-public-proxy
    environment:
      # Deine interne Immich-URL (nur über Docker-Netzwerk erreichbar)
      - IMMICH_URL=http://immich_server:2283
      # Optional: API-Key für erweiterte Funktionen
      - IMMICH_API_KEY=dein-immich-api-key
      - PUBLIC_URL=https://photos.deinedomain.de
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.immich-public.entrypoints=websecure"
      - "traefik.http.routers.immich-public.rule=Host(`photos.deinedomain.de`)"  
      - "traefik.http.routers.immich-public.tls=true"
      - "traefik.http.routers.immich-public.tls.certresolver=cloudflare"
      - "traefik.http.services.immich-public.loadbalancer.server.port=3000"
      - "traefik.docker.network=frontend"
    networks:
      - frontend
      - immich  # Verbindung zu deiner Immich-Instanz
    restart: unless-stopped

networks:
  frontend:
    external: true
  immich:
    external: true  # Das Netzwerk deiner Immich-Installation

⚠️ Wichtig: Passe photos.deinedomain.de und den IMMICH_API_KEY entsprechend an.

API-Key generieren

Um einen API-Key zu erstellen:

  1. Gehe in deine Immich-Weboberfläche
  2. Navigiere zu Einstellungen → API-Keys
  3. Erstelle einen neuen Key für den Public Proxy
  4. Trage diesen in die docker-compose.yml ein

Container starten

docker compose up -d

Immich Drop für Upload-Funktionen

Projektverzeichnis für Drop

mkdir /opt/containers/immich-drop
cd /opt/containers/immich-drop

Drop-Konfiguration

Erstelle die docker-compose.yml:

version: '3.8'

services:
  immich-drop:
    image: ghcr.io/nasogaa/immich-drop:latest
    container_name: immich-drop
    environment:
      # Verbindung zu deiner Immich-Instanz
      - IMMICH_URL=http://immich_server:2283
      - IMMICH_API_KEY=dein-immich-api-key
      
      # Upload-Konfiguration
      - UPLOAD_ALBUM=Drop-Uploads  # Album für hochgeladene Fotos
      - MAX_FILE_SIZE=50MB
      - ALLOWED_TYPES=jpg,jpeg,png,gif,mp4,mov
      
      # Optionale Sicherheitsfeatures
      - REQUIRE_PASSWORD=false
      - UPLOAD_PASSWORD=sicher123
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.immich-drop.entrypoints=websecure"
      - "traefik.http.routers.immich-drop.rule=Host(`upload.deinedomain.de`)"
      - "traefik.http.routers.immich-drop.tls=true"
      - "traefik.http.routers.immich-drop.tls.certresolver=cloudflare"
      - "traefik.http.services.immich-drop.loadbalancer.server.port=3000"
      - "traefik.docker.network=frontend"
    networks:
      - frontend
      - immich
    restart: unless-stopped

networks:
  frontend:
    external: true
  immich:
    external: true

Drop-Container starten

docker compose up -d

Alben teilen und Uploads verwalten

Public Proxy nutzen

  1. Album in Immich freigeben: Gehe zu deinem gewünschten Album und aktiviere die öffentliche Freigabe
  2. Share-Link kopieren: Immich generiert automatisch einen Share-Link
  3. Über Proxy teilen: Der Link funktioniert nun über deinen Public Proxy unter https://photos.deinedomain.de

Drop-Upload konfigurieren

  1. Upload-Album erstellen: Erstelle in Immich ein Album namens “Drop-Uploads” (oder wie in der Config angegeben)
  2. Upload-Portal teilen: Teile die URL https://upload.deinedomain.de mit Personen, die Fotos hochladen sollen
  3. Uploads verwalten: Alle hochgeladenen Fotos erscheinen automatisch in deinem konfigurierten Album

Sicherheit

Best Practices

  • Separate Subdomains: Nutze verschiedene Subdomains für verschiedene Funktionen
  • HTTPS nur: Stelle sicher, dass alle Verbindungen verschlüsselt sind
  • Regelmäßige Updates: Halte die Proxy-Container aktuell
  • Monitoring: Überwache die Logs auf verdächtige Aktivitäten

Zusätzliche Sicherheit

# Beispiel für IP-Whitelist in Traefik
- "traefik.http.middlewares.ip-whitelist.ipwhitelist.sourcerange=192.168.1.0/24,10.0.0.0/8"
- "traefik.http.routers.immich-drop.middlewares=ip-whitelist"

Das Beste aus beiden Welten

Mit diesen beiden Tools hast du das Beste aus beiden Welten erreicht:

Deine Hauptinstanz bleibt privat und sicher
Gezieltes Teilen von Alben möglich
Upload-Funktionen für Events und Sammelprojekte
Keine Kompromisse bei der Sicherheit
Einfache Verwaltung über deine bestehende Immich-Installation

Anwendungsszenarien

  • Hochzeitsfotos sammeln: Gäste können über Drop Fotos hochladen
  • Familienalben teilen: Großeltern können Fotos über Public Proxy anschauen
  • Event-Dokumentation: Teilnehmer laden ihre Bilder über einen Link hoch
  • Kollaborative Projekte: Teammitglieder können gemeinsam Bilder sammeln