Skip to main content

Immich LXC Setup with External Storage and Backup Strategy

ÜberblickOverview

Immich wurdewas mithilfeinstalled derusing the Proxmox Community Scripts, installiert,which resulted in a fully functional LXC container without issues.
After the initial setup, the container configuration was zuadjusted einemto vollprovide funktionsfähigensufficient LXC-Containerstorage ohnecapacity Problemefor führte.photos and videos, as the default container disk size is not suitable for long-term media storage.

NachThe dersolution initialenis Einrichtungbased wurdeon diemapping Container-KonfigurationImmich’s angepasst,upload umdirectory to a ausreichenddedicated Speicherkapazitätlarge fürstorage Fotosvolume undand Videoshandling backups outside of Proxmox’s standard container backups 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..


SpeicherlayoutStorage undLayout Mount-and Mount Point

Immich Upload-VerzeichnisUpload Directory

Immich speichertstores alleall hochgeladenenuploaded Medienmedia imin folgendenthe Verzeichnisfollowing innerhalbdirectory desinside Containers:the container:

/opt/immich/upload/

UmTo zuavoid verhindern,filling dassup dasthe Root-Dateisystemcontainer’s desroot Containersfilesystem, vollthis läuft,directory wirdis diesesmapped Verzeichnisto aufa einenseparate separatenmount Mount-Pointpoint gemappt,backed derby vona einemlarger größeren Datenträgerdisk (z.e.g. B.ZFS ZFS-Speicherstorage aufon demthe Proxmox-Host)Proxmox unterstützt wird.host).


Mount-Point-MigrationsprozedurMount Point Migration Procedure

1. BestehendesBackup Upload-VerzeichnisExisting sichernUpload Directory

BevorBefore etwaschanging geändertanything, wird,log ininto denthe Immich-Immich LXC einloggenand undcreate eina Backupbackup desof bestehendenthe Upload-Verzeichnissesexisting erstellen:upload directory:

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

DadurchThis bleibenensures diethe ursprünglicheoriginal Ordnerstrukturfolder undstructure alleand vorhandenenany Dateienexisting erhalten.files are preserved.


2. Mount-Create and Map the Mount Point erstellen und mappen

AufOn demthe Proxmox-Host:Proxmox host:

  • Create
  • Eina neuesnew Speichervolumestorage erstellenvolume (z.e.g. B.ZFS ZFS-Datasetdataset oderor Subvolume)subvolume) mitwith ausreichendsufficient Kapazität.capacity.
  • Map
  • Diesesthis Volumevolume ininto denthe LXC mappen unter:at:
/opt/immich/upload/

DadurchThis wirdreplaces dasthe ursprünglicheoriginal Verzeichnisdirectory durchwith denthe externenexternal Speicher ersetzt.storage.


3. InhalteRestore desDirectory Verzeichnisses wiederherstellenContents

NachdemAfter derthe Mount-Pointmount impoint Containeris aktivactive ist:inside the container:

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

DasThis stelltguarantees sicher, dassthat Immich diefinds erwartetethe Verzeichnisstrukturdirectory vorfindet.structure it expects.


4. EigentümerFix undOwnership Berechtigungenand korrigierenPermissions

Immich benötigt,requires dassthe dasupload Upload-Verzeichnisdirectory demto Benutzerbe owned by the immich gehört:user:

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

WirdFailing dasto nichtdo gemacht,this könnenmay Upload-Fehlerlead oderto fehlendeupload Medienerrors or missing media in derthe Oberfläche auftreten.UI.


Backup-ÜberlegungenBackup Considerations (wichtig)Important)

⚠ Proxmox Datacenter Backups

DerThe gemapptemapped Mount-Pointmount point wirdis nichtnot included in denregular regulärenProxmox Proxmox-Container-Backupscontainer berücksichtigt.backups.

DasThis istis normalesexpected Verhaltenbehavior undand mussmust explizitbe gehandhabthandled explicitly werden..


Backup-StrategieBackup Strategy

Restic + rclone (WebDAV)

Die Backups werdenare unabhängighandled vonindependently of Proxmox mitusing folgendemthe Stackfollowing umgesetzt:stack:

  • restic fürfor versionierte,versioned, verschlüsselteencrypted Backupsbackups
  • rclone alsas Transport-Layerthe transport layer
  • WebDAV alsas Remote-Speicher-Backendthe remote storage backend as it is the easiest to be used inside LXCs (amI einfachsten nutzbar innerhalb von LXCs)think)

DieserThis Ansatzapproach bietet:provides:

  • Encrypted, deduplicated backups
  • Verschlüsselte,Independence dedupliziertefrom Backupscontainer snapshots
  • Fine-grained control over retention and scheduling
  • UnabhängigkeitEasy vonrestores Container-Snapshotswithout Proxmox involvement
  • Feingranulare Kontrolle über Retention und Zeitplanung
  • Einfache Wiederherstellungen ohne Proxmox-Beteiligung

NurOnly derthe externeexternal Upload-Speicherupload mussstorage gesichertneeds werden;to derbe Containerbacked selbstup; kannthe jederzeitcontainer neuitself aufgebautcan werden.be rebuilt at any time.


Design-BegründungDesign Rationale

  • GroßeLarge Mediendatenmedia sinddata vomis decoupled from the container
  • Container entkoppelt
  • rebuilds
  • Container-Neuinstallationen sindare trivial
  • Backups sindare zuverlässig,reliable, explizitexplicit, undand nachvollziehbarauditable
  • SpeicherwachstumStorage erfordertgrowth keindoes Resizingnot desrequire LXC resizing

DiesesThis Setupsetup passtaligns sehrwell gutwith zurlong-term langfristigenphoto Verwaltunglibrary einermanagement Fotobibliothekand undavoids vermeidetcommon gängigepitfalls Fallstrickewith beicontainer-based containerbasiertenmedia Medienanwendungen.applications.