NFS Freigabe in einen unprivilegierten LXC Container einbinden.
Hier am Beispiel des PaperlessNGX Ordners, der auf dem Synology NAS liegt und dem LXC Container zugänglich gemacht werden soll.
<font inherit/inherit;;#3498db;;inherit>Das Beispiel hier wurde auf einer Synology NAS mit ssh Zugang getestet. Sollte aber mit jedem anderen Linux System auch funktionieren</font>
sudo nano /etc/exports
Inhalt (Beispiel Synology NFS Freigabe)
/volume1/PaperlessNGX 192.168.10.10(rw,sync,no_wdelay,crossmnt,secure,no_root_squash,sec=sys,anonuid=1000,anongid=1000)
Wichtig: anonuid und anongid. Die IDs müssen zum verwendetet Benutzer im LXC Container passen.
Diese können im LXC-Container angezeigt werden mit: (mustermann durch Benutzernamen ersetzen)
id mustermann
Danach Freigabe neu starten mit:
sudo exportfs -ra
<font inherit/inherit;;#ff0000;;inherit>Alle Schritte hier sind im Host durchzuführen und nicht im LXC Container!</font>
Einen Ordner erstellen für die Freigabe. Beispiel:
mkdir /mnt/PaperlessNGX_NAS
Ordner mounten:
sudo mount -t nfs -o rw,vers=4.1,hard,intr 192.168.10.5:/volume1/PaperlessNGX /mnt/PaperlessNGX_NAS
/etc/fstab anpassen mit
nano /etc/fstab
und folgendes einfügen:
192.168.10.5:/volume1/PaperlessNGX /mnt/PaperlessNGX_NAS nfs rw,vers=4.1,hard,intr 0 0
LXC Container Config anpassen 108 hier nur als Beispiel, entspricht der Nummer vom Container
nano /etc/pve/lxc/108.conf
Folgende Zeile einfügen:
mp0: /mnt/PaperlessNGX_NAS/,mp=/mnt/Daten
Erklärung: Dadurch wird der Ordner PaperlessNGX_NAS, jetzt im proxmox host eingebunden, in den LXC Container eingebunden und dort in den Ordner Daten eingebunden.
/mnt/Daten ist hier nur ein Beispiel.
Hintergrund: Nach einem Neustart vom Proxmoxx + NAS (oder Stromausfall), startete PaperlessNGX nicht mehr, da der consume Ordner auf dem NAS nicht angelegt werden konnte.
Lösung 1:
1. Im Proxmoxx Host:
chown -R 100000:100000 /mnt/PaperlessNGX_NAS
und danach im Paperless LXC:
docker-compose up -d
Lösung 2:
<font inherit/inherit;;#ff0000;;inherit>Auf dem NAS:</font>
/etc/exports
/volume1/PaperlessNGX 192.168.10.10(rw,sync,no_subtree_check,all_squash,anonuid=100000,anongid=100000)
Anschließend:
exportfs -ra
<font inherit/inherit;;#ff0000;;inherit>Weiter auf dem Proxmox-Host:</font>
umount /mnt/PaperlessNGX_NAS
mount /mnt/PaperlessNGX_NAS)
und einmalig
chown -R 100000:100000 /mnt/PaperlessNGX_NAS
Danach bleiben die Ownership-Informationen so stehen. Jeder Neustart bindet den Share mit UID=100000 ein, und dein LXC-Container kann direkt schreiben.
Anschließend noch:
/etc/fstab
192.168.10.5:/volume1/PaperlessNGX /mnt/PaperlessNGX_NAS nfs rw,vers=4.1,hard,intr,_netdev 0 0