In dieser Anleitung wurde Paperless auf einem Proxmox-Server installiert. Ich empfehle ausdrücklich die Installation als VM statt als LXC (Linux Container). Die Verwendung von Docker in einem LXC-Container kann zu Problemen führen, die bei einer VM-Installation nicht auftreten.
Paperless Systemvoraussetzungen
Ressourcen | Paperless |
---|---|
CPU | 4 Kerne |
RAM | 8192 MB |
Festplatte | 50GB |
Die Basis: Debian 12 oder Ubuntu 24.04, Docker, Docker Compose und Portainer
Zuerst müssen wir Docker, Docker Compose und Portainer installieren. Dies lässt sich ganz einfach mit den folgenden vier Schritten erledigen.
Schritt 1: Linux aktualisieren und Curl installieren
apt update && apt upgrade -y && apt install curl -y
Schritt 2: Docker installieren
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
Schritt 3: Docker-Compose installieren
Überprüfe vor der Eingabe des Befehls, ob eine aktuellere Version von Docker Compose verfügbar ist, und passe dann die Versionsnummer v2.29.0 im Befehl entsprechend an. Den neuesten Release findest du auf GitHub: Docker Compose Releases.
curl -SL https://github.com/docker/compose/releases/download/v2.29.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
Schritt 4: 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
In der .yml Datei müssen einige Parameter angepasst werden:
- PAPERLESS_SECRET_KEY: deinSecretkey
- PAPERLESS_ADMIN_USER: AdminUser
- PAPERLESS_ADMIN_PASSWORD: deinPassword
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:
Anschließend den Stack starten
Samba installieren und einrichten
Wir werden dem Linux Benutzer den Zugriff mit einem separaten SMB Passwort ermöglichen.
sudo apt update && sudo apt upgrade -y && sudo apt install samba -y
cd /etc/samba
Jetzt sichern wir die Standard smb.conf
, indem wir sie umbenennen, und erstellen anschließend eine neue, leere smb.conf
.
mv smb.conf smb.bak
nano smb.conf
Dort binden wir jetzt folgendes ein.
[global] #workgroup: Der Arbeitsgruppenname, zu dem der Samba-Server gehört. workgroup = WORKGROUP #server string: Eine Beschreibung des Servers. server string = Samba Server #netbios name: Der Name des Samba-Servers im Netzwerk. netbios name = paperless #security: Die Authentifizierungsmethode, hier "user", was bedeutet, dass Benutzer sich anmelden müssen. security = user #map to guest: Gästezugangseinstellung, hier "bad user", was bedeutet, dass unbekannte Benutzer als Gast b> map to guest = bad user #dns proxy: Legt fest, ob DNS-Abfragen weitergeleitet werden sollen. dns proxy = no [Data] #path: Der Pfad zu dem freigegebenen Ordner auf dem Server. path = /data #browsable: Legt fest, ob der Ordner durchsucht werden kann. browsable = yes #writable: Legt fest, ob in den Ordner geschrieben werden kann. writable = yes #valid users: Eine Liste der Benutzer, die auf diesen Ordner zugreifen dürfen. valid users = linuxer #guest ok: Legt fest, ob Gäste zugreifen dürfen. guest ok = no #read only: Legt fest, ob der Ordner schreibgeschützt ist. read only = no #create mask und directory mask: Berechtigungen für neu erstellte Dateien und Verzeichnisse. create mask = 0775 directory mask = 0775
Damit alle Änderungen übernommen werden, starten wir den SMB-Service neu.
sudo systemctl restart smbd
sudo smbpasswd -a DeinLinuxBenutzername
sudo chown -R DeinLinuxBenutzername:DeinLinuxBenutzername /data && sudo chmod -R 775 /data
Im Explorer rechtsklick und auf „Eine benutzerdefinierte Netzwerkadresse auswählen“ klicken.
Folgende Internet- oder Netzwerkadresse eingeben: \\paperless\data\compose\1\consume und auf weiter klicken.
Benenne deinen Ordner ganz nach belieben bei mir heißt er PAPERLESS (Data)
Klicke auf „Fertig stellen“ 🙂
Der Paperless (Data) Ordner wird dir jetzt angezeigt!
Paperless öffnen und einrichten
http://DeineIP:8010
Bekomme hier immer einen Fehler (ungülter Benutzer)
sudo chown -R DeinLinuxBenutzername:DeinLinuxBenutzername /data && sudo chmod -R 775 /data
owohl zuvor dieser Schritt klappte
sudo smbpasswd -a DeinLinuxBenutzername
Hallo Markus, Ist der Benutzer auch wirklich angelegt? Oder hat sich evtl. ein Tippfehler eingeschlichen? Das müsste man mal überprüfen.
Hallo Patrick
Ich habe es nun mittlerweile zig mal probiert und es funktioniert LEIDER NICHT.
Der Webserver von Paperless startet. Aber ich kann mich nicht anmelden.
Bei jedem Versuch eine neue Debian VM erstellt und exakt deiner Anleitung gefolgt.
Daraufhin habe ich diesen Weg genommen
(schreiners-it.de/proxmox/paperless-ngx-im-lxc-container-installieren/)
und es hat auf anhieb funktioniert. Ich bin also nicht zu blöd ein paar Zeilen zu kopieren 😉
Leider nur als Container.! Dabei hätte ich es gerne in einer VM.
Nach meinem Verständnis kann es nur an der .yml liegen. Ich habe auch versucht die Schreiners an deine .yml anzupassen. Aber da fehlt mir leider das Know-How.
Gruß Stefan
Hallöchen Stephan, wenn das mit dem LXC-Container funktioniert hat dann würde ich dabei bleiben :). Du schonst damit die Ressourcen deines Servers und kannst bei bedarf die Festplattengröße super einfach erweitern. Das ist bei einer VM nicht so ohne weiteres möglich. Sorry für die späte Rückmeldung 🙂
Hallo Stefan, hast du Paperless ans laufen bekommen? Sonst kann ich dir gerne dabei helfen! Beide Varianten sind möglich VM und LXC. Stand heute würde ich die VM Empfehlen und zur Sicherheit mit LUKS verschlüsseln.
broker Pulling db Pulling webserver Pulling broker Error db Error no matching manifest for linux/arm/v8 in the manifest list entries
bekomme die Fehlermeldung bei start
Wenn ich auf deploy the stack klicke bekomme ich folgende Fehlermeldung in portainer:
broker Pulling db Pulling webserver Pulling broker Error db Error no matching manifest for linux/arm/v8 in the manifest list entries
Hallo Patrick
Erstmal Danke für deine Anleitung.
Aber ich komme nicht weiter bei
PAPERLESS_SECRET_KEY: deinSecretkey
PAPERLESS_ADMIN_USER: AdminUser
PAPERLESS_ADMIN_PASSWORD: deinPassword
Aus den Beiträgen habe ich entnommen das der Secretkey willkürlich gewählt werden kann.
Aber bei ADMIN_USER und PASSWORD komme ich nicht weiter.
Sind das zukünftige Daten für Paperless oder vorhandene Daten aus Portainer (also bereits für Portainer genutzte USER und PASSWORD) ?
Ich habe das Problem dass ich Paperless zwar starten kann, aber weder Benutzername noch Kennwort bei der Anmeldung passen.
Hallo Stefan, das sind die Admin Zugangsdaten um dich nach der Installation bei Paperless anzumelden. Da kannst du deine Wunschangaben machen. LG Patrick
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
Hey Gerlad, ich hab die smb Freigabe eben nochmal neu erstellt vielleicht hilft dir die erweiterte Anleitung bei der Einrichtung. Ein kurzes Video hab ich auch schnell erstellt uns am Ende angefügt. Schau sicherheitshalber auch mal nach ob deine Windows Arbeitsgruppe auch noch WORKGROUP heißt daran könnte es nämlich auch liegen. LG Patrick
Vielen Dank für deine Bemühungen, dann werde ich gleich nochmal mein Glück probieren
Gerne 🙂
Super, es hat geklappt. Nochmal vielen Dank für deine Hilfe.
Das höre ich doch gerne, dann viel Freude mit Paperless ein tolles Tool was einem die Arbeit enorm erleichtert 🙂
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 nach dem anlegen angezeigt werden. Ich habe beide Pfad Varianten ausprobiert Angabe unter dem Hostsnamen oder IP Adresse. Funktionieren beide.
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. Du musst einen User und ein Passwort vergeben, mit dem du dich dann zukünftig bei Portainer anmelden kannst.
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 🙂