Samstag, 21 Dezember, 2024

Teilen

Paperless ngx installieren

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

RessourcenPaperless
CPU4 Kerne
RAM8192 MB
Festplatte50GB

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

Neuen Stack öffnen
Neuen Stack öffnen

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

Den Stack ausführen
Den Stack ausführen

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

47 Kommentare

  1. 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

  2. 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.

  3. 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

  4. 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

  5. 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.

  6. 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?

  7. 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.

  8. 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.

  9. 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?

  10. 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

  11. 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.

          • 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 !!!!!

  12. 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…)

  13. 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

    • 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.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Mehr Lesen

Das könnte dich auch interessieren