Paperless Systemvoraussetzungen
Paperless wurde in dieser Anleitung auf einem Proxmox Server installiert. Ich Empfehle die Installation als VM und nicht als LXC (Linux Container). Eine Docker Installation in einem LXC führt oft zu Problemen die wir mit einer VM nicht haben.
Ressourcen | Paperless |
---|---|
CPU | 4 Kerne |
RAM | 8192 MB |
Festplatte | 50GB |
Die Basis: Debian 12, Docker, Docker Compose und Portainer
Zu erst müssen wir Docker, Docker Compose und Portainer installieren. Das geht ganz einfach mit den nachfolgenden Befehlen.
Linux aktualisieren und Curl installieren
apt update && apt upgrade -y && apt install curl -y
Docker installieren
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
Docker-Compose installieren
Überprüfe vor Eingabe des Befehls ob eine Aktuellere Docker-Compose Version zur Verfügung steht und pass dann die Versions Nummer v2.23.0 im Befehl an.
Link zu Git-Hub: https://github.com/docker/compose
curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Portainer installieren
docker run -d -p 18510:8000 -p 19510:9000 --name portainer --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer-ce:latest
Portainer öffnen und einrichten
http://DeineIP:19510
Anschließend einen Stack anlegen

Folgende .yml einbinden und anpassen
version: "3.4" services: broker: image: docker.io/library/redis:7 restart: unless-stopped volumes: - redisdata:/data db: image: docker.io/library/postgres:13 restart: unless-stopped volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless webserver: image: ghcr.io/paperless-ngx/paperless-ngx:latest restart: unless-stopped depends_on: - db - broker ports: - 8010:8000 healthcheck: test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"] interval: 30s timeout: 10s retries: 5 volumes: - data:/usr/src/paperless/data - media:/usr/src/paperless/media - ./export:/usr/src/paperless/export - ./consume:/usr/src/paperless/consume environment: PAPERLESS_REDIS: redis://broker:6379 PAPERLESS_DBHOST: db PAPERLESS_SECRET_KEY: <deinSecretkey> PAPERLESS_ADMIN_USER: <deinAdminUser> PAPERLESS_ADMIN_PASSWORD: <deinAdminPassword> PAPERLESS_OCR_LANGUAGE: deu USERMAP_UID: 1000 USERMAP_GID: 100 volumes: data: media: pgdata: redisdata:
In der .yml Datei müssen einige Parameter angepasst werden
- PAPERLESS_SECRET_KEY: deinSecretkey
- PAPERLESS_ADMIN_USER: AdminUser
- PAPERLESS_ADMIN_PASSWORD: deinPassword
Anschließend den Stack starten

Samba installieren und eine einfache SMB Freigabe einrichten
Meine Paperless Installation wird von außen ausschließlich über VPN erreichbar sein deshalb reicht mir die einfache Guest Freigabe.
sudo apt update && sudo apt upgrade -y && sudo apt install samba -y
cd /etc/samba
Die Bereits angelegte smb.conf umbenennen und eine neue leere smb.conf anlegen.
mv smb.conf smb.bak
nano smb.conf
[global] map to guest = Bad User workgroup = workgroup [data] path = /data read only = no guest ok = yes
sudo systemctl restart smbd
Jetzt ist der Data Ordner unter der Windows Netzwerkübersicht zu erreichen.
Paperless öffnen und einrichten
http://DeineIP:8010
33 Antworten
Hallo,
ich habe jetzt die Anleitung zweimal durchgearbeitet, nachdem es mir beim ersten Mal nicht gelungen war, die Kommandos per Copy and Paste auszuführen und ich sie alle per Hand abgetippt hatte. Jedenfalls hat das mit der Samba-Freigabe nicht geklappt, ich habe keinen entsprechenden Eintrag im Netzwerk gesehen. Deshalb noch ein zweiter Versuch, diesmal mit Copy and Paste, aber auch jetzt wieder kein Netzlaufwerk zu sehen. Alles andere scheint soweit zu funktionieren. Hat jemand eventuell eine Idee, was ich falsch mache? Ich bin für jede Hilfe dankbar.
Lieber Gerald, vielen Dank für deinen Kommentar. Ich werde das am Wochenende testen. Ich habe zur Zeit leider nicht die Zeit sofort auf Kommentare zu reagieren aber ich tu mein bestes! Ich würde gerne jedem sofort helfen 🙂 Deshalb wird demnächst auch noch ein Video folgen. !!! WICHTIG !!! hast du die Installation auf einer VM oder einem LXC Container installiert?
Die Installation läuft auf einer VM, so wie empfohlen, auch mit den empfohlenen Einstellungen und Debian 12 als Basis, unter Proxmox.
Guten Morgen Gerald, das ist gut. Am Wochenende überprüfe ich woran es liegen kann und gebe dir dann ein Feedback. LG
Leider ergeht es mir wie Selter in den Kommentaren und der Zugriff via Samba geht nicht. Komme zur Freigabe aber keine Schreibberechtigungen. LXC Container neugestartet, keine Besserung. Eine Idee?
Lieber Schmitt, ich habe im Einleitung Text geschrieben das für die Installation eine richtige VM installiert werden sollte. Die Installation in einem LXC-Container hat bei mir leider auch zu Problemen geführt.
Eine Frage ist hier noch offen !
Wie kann man Daten über die SMB Freigabe direkt ablegen ?
Man kann zwar in die komplette Ordnerstruktur schauen, aber nichts unter
\\IP_ADRESSE\data\compose\1\consume
ablegen !
KEINE BERECHTIGUNG ! Laut Windows !
Hallo baldur1956, das Netzlaufwerk sollte dir unter Windows sofort angezeigt werden.
Hallo
Fehler gefunden, das Passwort muss aus Buchstaben und Zahlen bestehen. Hatte zum testen erstmal nur Zahlen genommen.
Gruß
Hallo Josef, perfekt 🙂
Hallo, und wieder wach und das Portainer Passwort gefunden. Alles Grün.
Auf die Paperless Seite bekomme ich weiterhin Meldung das User und Passwort nicht übereinstimmen.
PAPERLESS_SECRET_KEY: deinSecretkey
PAPERLESS_ADMIN_USER: AdminUser
PAPERLESS_ADMIN_PASSWORD: deinPassword
Das habe ich entsprechend geändert und auch Fotografiert. Was habe ich falsch gemacht?
Hallo, sehr gute Anleitung. Jetzt wollte ich auf die Portainer Seite und werde nach User und Password gefragt, kann mich nicht erinnern wann ich die vergeben habe.
Bei der Paperless Seite genauso, gibt es da ein Standard Password?
Das ganze habe ich genau nach deiner Anleitung auf Proxmox VM installiert.
Danke und Gruß Josef
Beim ersten Aufruf von Portainer erstellst Du den Admin Zugang. Das sind nicht die Login Daten von Paperless.
Vielen Dank für das Lob 🙂
Was ist der bzw. wo finde ich den PAPERLESS_SECRET_KEY: deinSecretkey
Lieber Wolfgang den kannst Du dir selbst erstellen. z.B: 54e8RZkfdflbjnö546gf#s! es sollte sicher sein.
Hallo Patrick,
danke für die tolle Anleitung 🙂
Der Data Ordner wird unter der Windows Netzwerkübersicht angezeigt:
\\PAPERLESS-VM\data\compose\1\consume
Aber wie kann ich in den Consume-Ordner Dateien ablegen? Mir fehlen dazu offenbar die Rechte …
Hallo Selter 🙂 Dateien solltest Du sofort ablegen können. Die nach der Anleitung eingerichtete Samba Freigabe ist öffentlich.
Hast du den Samba Dienst neugestartet: #sudo systemctl restart smbd
Liebe Grüße Patrick
Ja, ich habe sogar die VM neu gestartet. Die läuft bei mir unter Proxmox – liegt es vielleicht daran?
Wie gesagt, auf den Ordner kann ich zugreifen; kann aber nichts dort ablegen.
Hey Selter, ich hab Paperless auch als VM auf Proxmox laufen. Hast Du Portainer als VM oder als LXC installiert?
Hallo, hier möchte ich unbedingt anschließen.
Dank Deiner Anleitung hat die Installation endlich mal so funktioniert, wie beschrieben, KLASSE und Danke!
Aber ich habe exakt das selbe Problem.
Ich kann via Windows auf die Freigabe ohne Probleme zugreifen, aber ich kann nichts rein kopieren, da mir angeblich die Berechtigungen fehlen.
„Mit abweichendem Nutzer“ habe ich probiert (Daten vom Paperless User) hat das Problem auch nicht behoben.
QNAP NAS TS251D / VM Ubuntu Server frisch aufgesetzt und dann 1:1 an Deine Anleitung gehalten.
Wäre klasse, wenn wir das noch hinbekommen!
Ich nutze es nur lokal, nicht von unterwegs.
hatte den selben Fehler!
@Patrick: Den ersten Kommentar kannste löschen 😉
@Selter: Man muss dem Ordner „consume“ noch die Berechtigung fürs Schreiben geben (ich habe 777 gesetzt). Ich habe es via Putty erledigt.
Danach klappt es.
Nochmals @Patrick:
HERZLICHEN DANK für die geniale und einfache Anleitung!
Ich habe die letzten Tage X YouTune Videos/ Anleitungen gesehen, alle haben irgendwo gescheitert.
Hab dann (wieder einmal) mit dem neu Aufsetzen einer VM / Ubuntu gestartet und mich dann 1:1 an Deine Anleitung gehalten.
Funktioniert 1A -> DANKE !!!!!
Hallo,
Habe die Installation versucht so umzusetzen aber…
Der Container Paperless Webserver erhält bei Start kurz die Ports, welche aber direkt wieder verschwinden. Somit komme ich aber nicht auf die Login Seite von Paperless. Ne Idee was ich fasch gemacht haben könnte? Vg Andreas
Hallo Andreas, leider nicht. Ich hab die Installation schon mehrmals nach dieser Anleitung ausgeführt und keine Probleme feststellen können.
Welche Basis nutzt Du denn? (LXC in Proxmox, etc…)
wow! DAS ist mal eine Anleitung – vielen herzlichen Dank! Hat auf anhieb super geklappt.
Ein kleiner Bug ist noch enthalten; zum starten von paperless ist der falsche Port (nämlich noch von Portainer) angegeben
Hey Leggalucci, Danke für das lob 🙂 du hast recht ich hab versehentlich den Portainer Port im Paperless Login angegeben. Das Hab ich grade angepasst Danke für deinen Hinweis 🙂
Hallo,
wo liegen denn die Ordner data und media?
Ich dachte auf der VM in /usr/src/paperless
aber /usr/src ist leer?
Fehler lautet: Deployment error
failed to deploy a stack: services.environment Additional property POSTGRES_DB is not allowed
Hallo Chris, Ich werde heute mal eine neue Installation aufsetzten. Paperless läuft bei mir nach genau nach dieser Anleitung absolut reibungslos. Es kann natürlich sein das je nach Version Anpassungen vorgenommen werden müssen. Ich check das Gleich und Schicke dir ne Info sobald ich fertig bin. Patrick im vorherigen Kommentar ist auch nicht weitergekommen. Danke für die info.
Hallo Chris, ich habe heute alles nochmal auf stand gebracht und die .yml angepasst. Die Installation Anleitung funktioniert es hatte sich ein kleiner Fehler eingeschlichen.
Funktioniert schon bei der yml implementierung nicht da das ganze Environment unter dem postgre nicht angenommen wird.
Hallo Patrick, Ich werde das die Tage überprüfen. Vielen Dank für den Hinweis.
Jetzt läuft es 🙂