Immich LXC Setup with External Storage and Backup Strategy
Ü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.