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
EinaneuesnewSpeichervolumestorageerstellenvolume (z.e.g.B.ZFSZFS-DatasetdatasetoderorSubvolume)subvolume)mitwithausreichendsufficientKapazität.capacity.- Map
DiesesthisVolumevolumeinintodenthe LXCmappen 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ürforversionierte,versioned,verschlüsselteencryptedBackupsbackups - rclone
alsasTransport-Layerthe transport layer - WebDAV
alsasRemote-Speicher-Backendthe remote storage backend as it is the easiest to be used inside LXCs (amIeinfachsten nutzbar innerhalb von LXCs)think)
DieserThis Ansatzapproach bietet:provides:
- Encrypted, deduplicated backups
Verschlüsselte,IndependencededupliziertefromBackupscontainer snapshots- Fine-grained control over retention and scheduling
UnabhängigkeitEasyvonrestoresContainer-Snapshotswithout Proxmox involvementFeingranulare Kontrolle über Retention und ZeitplanungEinfache 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ßeLargeMediendatenmediasinddatavomis decoupled from the container- Container
entkoppeltrebuilds Container-Neuinstallationen sindare trivial- Backups
sindarezuverlässig,reliable,explizitexplicit,undandnachvollziehbarauditable SpeicherwachstumStorageerfordertgrowthkeindoesResizingnotdesrequire LXC resizing
DiesesThis Setupsetup passtaligns sehrwell gutwith zurlong-term langfristigenphoto Verwaltunglibrary einermanagement Fotobibliothekand undavoids vermeidetcommon gängigepitfalls Fallstrickewith beicontainer-based containerbasiertenmedia Medienanwendungen.applications.
