Immich LXC Setup with External Storage and Backup Strategy
OverviewÜberblick
Immich waswurde installedmithilfe usingder the Proxmox Community Scripts, which resulted in a fully functional LXC container without issues.After the initial setup, the container configurationinstalliert, was adjustedzu toeinem providevoll sufficientfunktionsfähigen storageLXC-Container capacityohne forProbleme photos and videos, as the default container disk size is not suitable for long-term media storage.führte.
TheNach solutionder isinitialen basedEinrichtung onwurde mappingdie Immich’sContainer-Konfiguration uploadangepasst, directoryum toausreichend aSpeicherkapazitä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 dedicatedseparates largegroßes storageSpeichervolume volumezu mappen und Backups außerhalb der standardmäßigen Proxmox-Container-Backups andzu handling backups outside of Proxmox’s standard container backups.handhaben.
StorageSpeicherlayout Layoutund and Mount Mount-Point
Immich Upload DirectoryUpload-Verzeichnis
Immich storesspeichert allalle uploadedhochgeladenen mediaMedien inim thefolgenden followingVerzeichnis directoryinnerhalb insidedes the container:Containers:
/opt/immich/upload/
ToUm avoidzu fillingverhindern, updass thedas container’sRoot-Dateisystem rootdes filesystem,Containers thisvoll directoryläuft, iswird mappeddieses toVerzeichnis aauf einen separateseparaten mountMount-Point pointgemappt, backedder byvon aeinem largergrößeren diskDatenträger (e.g.z. ZFSB. storageZFS-Speicher onauf thedem ProxmoxProxmox-Host) host).unterstützt wird.
Mount Point Migration ProcedureMount-Point-Migrationsprozedur
1. BackupBestehendes ExistingUpload-Verzeichnis Upload Directorysichern
BeforeBevor changingetwas anything,geändert logwird, intoin theden Immich Immich-LXC andeinloggen createund aein backupBackup ofdes thebestehenden existingUpload-Verzeichnisses upload directory:erstellen:
cp -a /opt/immich/upload /opt/immich/upload.backup
ThisDadurch ensuresbleiben thedie originalursprüngliche folderOrdnerstruktur structureund andalle anyvorhandenen existingDateien files are preserved.erhalten.
2. CreateMount-Point anderstellen Mapund the Mount Pointmappen
OnAuf thedem Proxmox host:Proxmox-Host:
CreateEinaneuesnewSpeichervolumestorage volumeerstellen (e.g.z.ZFSB.datasetZFS-Datasetorodersubvolume)Subvolume)withmitsufficientausreichendcapacity.Kapazität.MapDiesesthisVolumevolumeininto theden LXCat:mappen unter:
/opt/immich/upload/
ThisDadurch replaceswird thedas originalursprüngliche directoryVerzeichnis withdurch theden externalexternen storage.Speicher ersetzt.
3. RestoreInhalte Directorydes ContentsVerzeichnisses wiederherstellen
AfterNachdem theder mountMount-Point pointim isContainer activeaktiv inside the container:ist:
cp -a /opt/immich/upload.backup/* /opt/immich/upload/
ThisDas guaranteesstellt thatsicher, dass Immich findsdie theerwartete directoryVerzeichnisstruktur structure it expects.vorfindet.
4. FixEigentümer Ownershipund andBerechtigungen Permissionskorrigieren
Immich requiresbenötigt, thedass uploaddas directoryUpload-Verzeichnis todem beBenutzer ownedimmich by the immich user:gehört:
chown -R immich:immich /opt/immich/upload
FailingWird todas donicht thisgemacht, maykönnen leadUpload-Fehler tooder uploadfehlende errors or missing mediaMedien in theder UI.Oberfläche auftreten.
Backup ConsiderationsBackup-Überlegungen (Important)wichtig)
⚠ Proxmox Datacenter Backups
TheDer mappedgemappte mountMount-Point pointwird is not includednicht in regularden Proxmoxregulären containerProxmox-Container-Backups backups.berücksichtigt.
ThisDas isist expectednormales behaviorVerhalten andund mustmuss beexplizit handledgehandhabt explicitly.werden.
Backup StrategyBackup-Strategie
Restic + rclone (WebDAV)
Die Backups arewerden handledunabhängig independently ofvon Proxmox usingmit thefolgendem followingStack stack:umgesetzt:
- restic
forfürversioned,versionierte,encryptedverschlüsseltebackupsBackups - rclone
asalstheTransport-Layer - WebDAV
asalsthe remote storage backend as it is the easiest to be used inside LXCsRemote-Speicher-Backend (Iamthink)einfachsten nutzbar innerhalb von LXCs)
ThisDieser approachAnsatz provides:bietet:
Encrypted,Verschlüsselte,deduplicateddedupliziertebackupsBackupsIndependenceUnabhängigkeitfromvoncontainerContainer-Snapshots- Feingranulare Kontrolle über Retention und Zeitplanung
Fine-grainedEinfachecontrolWiederherstellungenoverohneretentionProxmox-BeteiligungEasy restores without Proxmox involvement
OnlyNur theder externalexterne uploadUpload-Speicher storagemuss needsgesichert towerden; beder backedContainer up;selbst thekann containerjederzeit itselfneu canaufgebaut be rebuilt at any time.werden.
Design RationaleDesign-Begründung
LargeGroßemediaMediendatendatasindisvomdecoupledContainerfrom the containerentkoppeltContainerContainer-Neuinstallationenrebuilds aresind trivial- Backups
aresindreliable,zuverlässig,explicit,explizitandundauditablenachvollziehbar StorageSpeicherwachstumgrowtherfordertdoeskeinnotResizingrequiredes LXCresizing
ThisDieses setupSetup alignspasst wellsehr withgut long-termzur photolangfristigen libraryVerwaltung managementeiner andFotobibliothek avoidsund commonvermeidet pitfallsgängige withFallstricke container-basedbei mediacontainerbasierten applications.Medienanwendungen.