docker container paperless auf proxmox VE - best practice

drnicolas

Renowned Member
Dec 8, 2010
200
11
83
Ich lasse aktuell paperless als docker container innerhalb eines LCX-Containers auf proxmox laufen. Was mich dazu veranlasst hat, kann ich gar nicht mher sagen.

Es läuft an sich gut.

Aktuell habe ich aber beim Konsumieren grösserer datien durch paperless schwer verständliche Fehlermeldungen.

in Github wurde das lapidar mit "you are running out of memory" bewertet.

Okay, klingt einleuchtend. Aber wie damit umgehen?

Ist es möglich den docker-container direkt auf proxmox laufen zu lassen? Würde das das memory-problem entschärfen?
 
  • Like
Reactions: jan-t
docker container innerhalb eines LCX-Containers auf proxmox l
Das empfehlen die Proxmox Entwickler nicht, aus meiner Sicht ist es für Docker besser eine VM, anstelle eines LXC Containers zu nutzen.
Bei mir hat es auch lange gedauert bis ich es kapiert habe.

Ist es möglich den docker-container direkt auf proxmox laufen zu lassen?
Technisch ist das möglich, ich würde es nicht tun, Du untergräbst dadurch die Vorteile vom Proxmox System.

Wenn Du das vorhast bietet sich eher Debian oder Ubuntu Server an.
OpenMediaVault kann auch sehr gut mit Docker-Containern umgehen.

Am besten man hält sich an die Empfehlungen der Entwickler, alles andere endet bei mir oft im "nicht mehr administierbar".
 
Last edited:
Moinsen,
wie bereits hier gesagt: docker im LXC kann gemacht werden, es wird aber davon abgeraten (ganz offiziell).

Brauchst du den paperless Teil immer erreichbar (also auch mal schnell vom scanner was in die inbox schicken)? Falls du paperless nur nutzt, wenn zB auch dein PC an ist, dann kann das ja auch zur Not darüber laufen...

Ansonsten: meist kommt zu dem einen container ja noch der ein oder andere hinzu...also gleich eine VM mit zB debian aufsetzen, darin dann docker installiert und die zukünftigen Anwendungen direkt so laufen lassen. Der VM direkt genug RAM mitgeben.
Hier habe ich zB eine debian VM mit 16 GB RAM, darauf dann docker mit einigen Paketen fürs Heimlabor. Paperless ist somit erreichbar, die Inbox ist auf dem NAS hinterlegt, der Speicherort für alles bzgl paperless ebenso...
 
Last edited:
es wird aber davon abgeraten (ganz offiziell).
vielleicht sollte man hier erklären warum - der LXC Container bedient sich der Kernel Funktionen des Hosts (Performance !) - und somit kannst Du Dir den Container bzw. Docker darauf zerschießen wenn Du den Kernel des Hosts updatest. Für Produktionsumgebungen nimmt man den Performanceverlust vs. besserer Isolation mit einer VM in Kauf. (so 10-15% habe ich wo gelesen, nicht gemessen)
Ich persönlich nehme jedoch das Risiko in Kauf, bei den paar Proxmox Nodes die ich betreibe (dzt. 8 Node Cluster + ein privater Cluster) . Sollte ein Update wirklich meine LXC/Docker combos zerschießen habe ich genügend Möglichkeiten zur mitigation.

All diese Regeln und Best Practices sollte man immer hinterfragen - WARUM wird das so empfohlen ? Was ist der Anwendungsfall ? Welche Ressourcen stehen mir zur Verfügung ? In einem Homelab wo eventuell Speicher sehr knapp ist möchte ich gegebenenfalls kein zweites virtualisiertes Kernel laufen lassen. Dann kann man eine informierte Entscheidung fällen - nur auf "best Practice" zu pochen ist zwar safe, aber nicht immer die Beste Entscheidung.

Docker auf einer VM:
Vorteil : sicherer, bessere Isolation zum Host
Nachteil : geringere Performance, etwas höherer Speicherverbrauch durch zweites virtualisiertes Kernel.

Docker auf einem LXC :
Vorteil : performanter, etwas geringerer Speicherbedarf
Nachteil : schlechtere Isolation zum Host, Kernel Updates haben unter Umständen Auswirkungen auf den Container und Docker

my 50 cents
 
  • Like
Reactions: the other
Moinsen,
das ist durchaus eine sinnige Ergänzung. :) Es gibt ja auch einige Projekte, die genau das (also docker in lxc) so machen und das ohne berichtete Probleme...
Am Ende kann (zum Glück) im homelab zumindest ja auch jede*r so machen, wie es sinnig erscheint...
Allerdings sind Themen wie "Sicherheit" und "Isolation zum host" auch im homelab durchaus nicht wegzudenken. Alleine daher würde ich da (so es denn die hardware auch zulässt) immer eher zur VM tendieren...mein ganz persönlicher Aluhut ;)
 
würde ich da (so es denn die hardware auch zulässt) immer eher zur VM tendieren
kommt eben immer drauf an. Ein Service das von außen nicht erreichbar ist, würde ich durchaus auf LXC laufen lassen. Natürlich sind dann laterale Angriffe leichter (aber gut das sind dann mehrere Dockers in einer VM auch). Allerdings leide ich seit Jahren an schwerer Updateritis, was ich mir angesichts der immer schlimmer werdenden Supply-Chain Attacks gerade abgewöhne. Im Moment sieht es so aus das Updates über kompromittierte Pakete mehr Sicherheitslücken öffnen als schließen.