Skip to main content

Immich - im LXC mit externer Speicher Anbindung und Backup-Strategie

Überblick

Immich wurde mithilfe der Proxmox Community Scripts installiert, was zu einem voll funktionsfähigen LXC-Container ohne Probleme führte.

Nach der initialen Einrichtung wurde die Container-Konfiguration angepasst, um ausreichend Speicherkapazität für Fotos und Videos bereitzustellen, da die Standard-Container-Disk-Größe für langfristige Medienspeicherung nicht geeignet ist.

Die Lösung basiert darauf, das Immich-Upload-Verzeichnis auf ein separates großes Speichervolume zu mappen und Backups außerhalb der standardmäßigen Proxmox-Container-Backups zu handhaben.


Speicherlayout und Mount-Point

Immich Upload-Verzeichnis

Immich speichert alle hochgeladenen Medien im folgenden Verzeichnis innerhalb des Containers:

/opt/immich/upload/

Um zu verhindern, dass das Root-Dateisystem des Containers voll läuft, wird dieses Verzeichnis auf einen separaten Mount-Point gemappt, der von einem größeren Datenträger (z. B. ZFS-Speicher auf dem Proxmox-Host) unterstützt wird.


Mount-Point-Migrationsprozedur

1. Bestehendes Upload-Verzeichnis sichern

Bevor etwas geändert wird, in den Immich-LXC einloggen und ein Backup des bestehenden Upload-Verzeichnisses erstellen:

cp -a /opt/immich/upload /opt/immich/upload.backup

Dadurch bleiben die ursprüngliche Ordnerstruktur und alle vorhandenen Dateien erhalten.


2. Mount-Point erstellen und mappen

Auf dem Proxmox-Host:

  • Ein neues Speichervolume erstellen (z. B. ZFS-Dataset oder Subvolume) mit ausreichend Kapazität.
  • Dieses Volume in den LXC mappen unter:
/opt/immich/upload/

Dadurch wird das ursprüngliche Verzeichnis durch den externen Speicher ersetzt.


3. Inhalte des Verzeichnisses wiederherstellen

Nachdem der Mount-Point im Container aktiv ist:

cp -a /opt/immich/upload.backup/* /opt/immich/upload/

Das stellt sicher, dass Immich die erwartete Verzeichnisstruktur vorfindet.


4. Eigentümer und Berechtigungen korrigieren

Immich benötigt, dass das Upload-Verzeichnis dem Benutzer immich gehört:

chown -R immich:immich /opt/immich/upload

Wird das nicht gemacht, können Upload-Fehler oder fehlende Medien in der Oberfläche auftreten.


Backup-Überlegungen (wichtig)

⚠ Proxmox Datacenter Backups

Der gemappte Mount-Point wird nicht in den regulären Proxmox-Container-Backups berücksichtigt.

Das ist normales Verhalten und muss explizit gehandhabt werden.


Backup-Strategie

Restic + rclone (WebDAV)

Die Backups werden unabhängig von Proxmox mit folgendem Stack umgesetzt:

  • restic für versionierte, verschlüsselte Backups
  • rclone als Transport-Layer
  • WebDAV als Remote-Speicher-Backend (am einfachsten nutzbar innerhalb von LXCs)

Dieser Ansatz bietet:

  • Verschlüsselte, deduplizierte Backups
  • Unabhängigkeit von Container-Snapshots
  • Feingranulare Kontrolle über Retention und Zeitplanung
  • Einfache Wiederherstellungen ohne Proxmox-Beteiligung

Nur der externe Upload-Speicher muss gesichert werden; der Container selbst kann jederzeit neu aufgebaut werden.


Design-Begründung

  • Große Mediendaten sind vom Container entkoppelt
  • Container-Neuinstallationen sind trivial
  • Backups sind zuverlässig, explizit und nachvollziehbar
  • Speicherwachstum erfordert kein Resizing des LXC

Dieses Setup passt sehr gut zur langfristigen Verwaltung einer Fotobibliothek und vermeidet gängige Fallstricke bei containerbasierten Medienanwendungen.