Paperless-ngx Paperless-ngx – DMS via Docker auf dem NAS

Frank73

Benutzer
Mitglied seit
29. Jan 2018
Beiträge
149
Punkte für Reaktionen
5
Punkte
18
Hallo,

nutze seit ca. 2 Jahren ecoDMS und verfolge diesen Thread schon länger als interessierter Leser. Nachdem nun einige Verständnisfragen geklärt wurden, habe heute paperless-ngx (redis 7 und PostgreSQL 15) erfolgreich installiert und muss sagen, dass mich postgress-ngx total positiv begeistert. Muss jetzt nur noch die Frau überzeugen, dass sie die ca. 4.000 Dokumente aus ecoDMS nach paperless "migriert" 🤭

Dennoch habe ich aktuell noch 2 "technische" Fragen:
1) Ich übergebe mit den Parametern "USERMAP_UID:" und "USERMAP_GID:" meine ID des "normalen" Users und die der Standardgruppe (bei DSM die 100).
--> Ich meine irgendwo gelesen zu haben, dass es die erstgenannten Gruppe sein muss.
Kann es aber auch eine andere Gruppen-Id sein (z. B. 65333)?

2) Ich habe im www eine compose-Datei gefunden, welche ich für mich so zusammengedammpft habe, dass es passt (ohne "gotenberg" und "tika"). In diesem Compose ist auch die Möglichkeit einen dump zu erstellen. Da ich bzgl. Skript noch keine so große Ahnung habe, wollte ich euch fragen ob das "Skript-Teil" so passt. Ich würde das gerne in den Stack einbauen für eine tgl. Sicherung (zusätzlich zu den Sicherungen über HB).

Code:
db-backup:
        container_name: paperless-db-backup
        image: postgres:15
        volumes:
            - /volume1/docker/paperless/db-backup:/dump
            - /etc/localtime:/etc/localtime:ro
        environment:
            PGHOST: db
            PGDATABASE: paperless
            PGUSER: User
            PGPASSWORD: supergeheimespasswort
            BACKUP_NUM_KEEP: 10
            BACKUP_FREQUENCY: 1d
        entrypoint: |
            bash -c 'bash -s <<EOF
            trap "break;exit" SIGHUP SIGINT SIGTERM
            sleep 2m
            while /bin/true; do
              pg_dump -Fc > /dump/dump_\`date +%d-%m-%Y"_"%H_%M_%S\`.psql
              (ls -t /dump/dump*.psql|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.psql)|sort|uniq -u|xargs rm -- {}
              sleep $$BACKUP_FREQUENCY
            done
            EOF'

Oder hättet ihr Bedenken das darüber zu lösen?
 

Frank73

Benutzer
Mitglied seit
29. Jan 2018
Beiträge
149
Punkte für Reaktionen
5
Punkte
18
Hat keiner eine Antwort für mich?
 

dirmu

Benutzer
Mitglied seit
24. Feb 2024
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hallo, meine Versuche, paperless-ngx zum Laufen zu bekommen, sind leider bisher gescheitert. Jetzt hoffe ich auf Hilfe. :)

Ich bin leider noch nicht weitergekommen. Ich komme nicht aufs UI und der Container Manager zeigt „Warnung“ für den Webserver. Im Log erkenne ich keine Fehler.

Ist hier noch jemand, der sqlite verwendet?
 

dirmu

Benutzer
Mitglied seit
24. Feb 2024
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Oder ist meine DS220j vielleicht nicht leistungsfähig genug?
Nutzt noch jemand paperless-ngx auf einer DS220j?
 

unsicher

Benutzer
Mitglied seit
26. Dez 2009
Beiträge
79
Punkte für Reaktionen
7
Punkte
8
@dirmu
Ich kann Dir leider nicht sagen, ob paperless mit deinem Konfigurationswunsch auf einer j-Serie läuft. Generell sind die +-Serien besser geeignet, da hier der bessere Prozessor verbaut ist. Wichtig ist auch genügend Arbeitsspeicher. Versuche es doch einmal im Paperless Forum von Stefan Lachner. Da gab es User, die ebenfalls eine j-Serie eingesetzt haben. Digitalisierung mit Kopf lautet die Webseite.

Ich bin beispielsweise von einer ds220+ zur ds723+ gewechselt. Auf der 220+ liefen einige Datenbankversionen nicht, weil der Intel Prozessor nicht ausreichend ist.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Die 220j kann Docker. Somit sollte es da auch laufen, wenn auch etwas langsamer.
Ich verwende kein sqlite. Vielleicht kann dir aber jemand helfen, wenn du die Logs hier postest.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.218
Punkte für Reaktionen
1.038
Punkte
224

Paperless-ngx v2.6.0

Repository: paperless-ngx/paperless-ngx · Tag: v2.6.0 · Commit: 1ba1afd · Released by: github-actions[bot]

paperless-ngx 2.6.0​

Features​

Bug Fixes​

  • Fix: refactor base path settings, correct logout redirect @shamoon (#5976)
  • Fix: always pass remove_inbox_tagsfrom UI, dont require in API @shamoon(#5962)
  • Fix: Clear metadata cache when the filename(s) change @stumpylog (#5957)
  • Fix: include monetary, float and doc link values in search filters @shamoon (#5951)
  • Fix: Better handling of a corrupted index @stumpylog (#5950)
  • Fix: Don't assume the location of scratch directory in Docker @stumpylog (#5948)
  • Fix: ensure document title always limited to 128 chars @shamoon (#5934)
  • Fix: use PAPERLESS_URL for password reset emails, if set @shamoon (#5902)
  • Fix: Correct docker compose check in install script (#5904) @ShanSanear(#5917)
  • Fix: respect global permissions for UI settings @shamoon (#5919)
  • Fix: allow disable email verification during signup @shamoon (#5895)
  • Fix: refactor accounts templates and create signup template @shamoon(#5899)
 
  • Like
Reaktionen: Tuxnet und unsicher

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.218
Punkte für Reaktionen
1.038
Punkte
224

Kenji

Benutzer
Mitglied seit
09. Feb 2024
Beiträge
52
Punkte für Reaktionen
8
Punkte
58
Hallo Zusammen, kurze Frage bezüglich Paperlessngx und der Rename Funktion.
Verstehe ich das richtig das der Dateinamen automatisch verändert wird und ich die im Media Verzeichnis finden soll? Wenn ja habe ich folgendes in der docker compose file hinterlegt, leider passt er zwar das Verzeichnis an aber der Dateinamen wird nicht verändert: wo liegt der Fehler?

PAPERLESS_FILENAME_FORMAT: '{owner_username}/{correspondent}/{document_type}/{created_year}_{created_month}_{title}'

lg.
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.218
Punkte für Reaktionen
1.038
Punkte
224
Das Problem hatten wir hier an der einen oder anderen Stelle schonmal, konnten das aber leider nicht abschließend klären, wenn ich mich recht erinnere… Damit wir vielleicht das Problem eingrenzen können, ein paar Fragen:
  1. In /media gibt es zwei Unterordner, prüf bitte mal, ob die Dateinamen zumindest in /media/archive angepasst wurden
  2. poste bitte mal deine gesamte yml/den Portainer Stack mit allen Einstellungen
 

Kenji

Benutzer
Mitglied seit
09. Feb 2024
Beiträge
52
Punkte für Reaktionen
8
Punkte
58
Egal welcher der Unterordner, die Dateinamen werden nicht angepasst.

@EDIT > scheint nun wohl doch nach mehrfachem Neustarten des Stacks zu funktionieren, aber.. warum übernimmt er nicht die hinzugefügten ('{owner_username}/{correspondent}/{document_type})?



version: "3.9"
services:
redis:
image: redis:7
command:
- /bin/sh
- -c
- redis-server --requirepass redispass
container_name: PaperlessNGX-REDIS
hostname: paper-redis
mem_limit: 512m
mem_reservation: 256m
cpu_shares: 768
security_opt:
- no-new-privileges:true
read_only: true
user: 1026:100
healthcheck:
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
volumes:
- /volume2/docker/paperlessngx/redis:/data:rw
environment:
TZ: Europe/Berlin
restart: on-failure:5

db:
image: postgres:16
container_name: PaperlessNGX-DB
hostname: paper-db
mem_limit: 1g
cpu_shares: 768
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "paperless", "-U", "paperlessuser"]
timeout: 45s
interval: 10s
retries: 10
volumes:
- /volume2/docker/paperlessngx/db:/var/lib/postgresql/data:rw
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperlessuser
POSTGRES_PASSWORD: paperlesspass
restart: on-failure:5

gotenberg:
image: gotenberg/gotenberg:latest
container_name: PaperlessNGX-GOTENBERG
hostname: gotenberg
security_opt:
- no-new-privileges:true
user: 1026:100
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
restart: on-failure:5

tika:
image: ghcr.io/paperless-ngx/tika:latest
container_name: PaperlessNGX-TIKA
hostname: tika
security_opt:
- no-new-privileges:true
user: 1026:100
restart: on-failure:5

paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: PaperlessNGX
hostname: paperless-ngx
mem_limit: 6g
cpu_shares: 1024
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
ports:
- 8777:8000
volumes:
- /volume2/docker/paperlessngx/data:/usr/src/paperless/data:rw
- /volume2/docker/paperlessngx/media:/usr/src/paperless/media:rw
- /volume2/docker/paperlessngx/export:/usr/src/paperless/export:rw
- /volume2/docker/paperlessngx/consume:/usr/src/paperless/consume:rw
- /volume2/docker/paperlessngx/trash:/usr/src/paperless/trash:rw
environment:
PAPERLESS_REDIS: redis://:redispass@paper-redis:6379
PAPERLESS_DBENGINE: postgresql
PAPERLESS_DBHOST: paper-db
PAPERLESS_DBNAME: paperless
PAPERLESS_DBUSER: paperlessuser
PAPERLESS_DBPASS: paperlesspass
PAPERLESS_TRASH_DIR: ../trash
PAPERLESS_FILENAME_FORMAT: '{owner_username}/{correspondent}/{document_type}/{created_year}_{created_month}_{title}'
PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD: 6
PAPERLESS_TASK_WORKERS: 1
USERMAP_UID: 1026
USERMAP_GID: 100
PAPERLESS_TIME_ZONE: Europe/Berlin
PAPERLESS_ADMIN_USER: XXX
PAPERLESS_ADMIN_PASSWORD: XXX
PAPERLESS_URL: https://xxx
PAPERLESS_CSRF_TRUSTED_ORIGINS: https://xxx
PAPERLESS_OCR_LANGUAGE: deu+eng
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
restart: on-failure:5
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
tika:
condition: service_started
gotenberg:
condition: service_started
 

Anhänge

  • Screenshot 2024-03-09 215044.png
    Screenshot 2024-03-09 215044.png
    33,5 KB · Aufrufe: 10
  • name.png
    name.png
    206,8 KB · Aufrufe: 10
  • nas.png
    nas.png
    122,5 KB · Aufrufe: 10
Zuletzt bearbeitet:

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.218
Punkte für Reaktionen
1.038
Punkte
224
In den Originalen wird auch nichts angepasst, das ist ja der Sinn dahinter, dass du neben den archivierten und veränderten Dokumenten auch immer noch das Original behältst.

Ansonsten scheint es jetzt zu funktionieren, wenn ich das richtig sehe, oder?
 
  • Like
Reaktionen: Kenji

Kenji

Benutzer
Mitglied seit
09. Feb 2024
Beiträge
52
Punkte für Reaktionen
8
Punkte
58
Eher funktioniert nur 20%.

Probleme:
- Das Orginal wird mit umbennannt
- '{owner_username}/{correspondent}/{document_type} fehlen im Dateinamen obwohl angeben?
 

Anhänge

  • orginal.png
    orginal.png
    392,8 KB · Aufrufe: 2
Zuletzt bearbeitet von einem Moderator:

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.218
Punkte für Reaktionen
1.038
Punkte
224
Nein, das hast du falsch verstanden, du hast Paperless-ngx das Kommando gegeben, Dateinamen und Pfad anzupassen. Der „/“ bezeichnet einen Pfad ausgehend vom Hauptpfad …/media/archive/…, wenn du {owner_username}, {correspondent} und den {document_type} im Dateinamen haben willst, musst du das angeben zum Beispiel als {owner_username}_{correspondent}_{document_type}. Statt des „_“ kannst du auch andere Zeichen verwenden, aber keine Slashes und auf Backslashes oder irgendwas, was falsch verstanden werden kann unter irgendeinem Betriebssystem, solltest du ebenfalls weglassen.
 
  • Like
Reaktionen: Kenji

Kenji

Benutzer
Mitglied seit
09. Feb 2024
Beiträge
52
Punkte für Reaktionen
8
Punkte
58
okay dann komme ich diese schon näher. Bei der Ordnererstellung habe ich noch das Problem das der letzte Ordner nach document_type > also created_year nicht erstellt wird.

Ordnerstruktur

Dateiname

PAPERLESS_FILENAME_FORMAT: '{owner_username}/{correspondent}/{document_type}/{created_year}_{created_year}-{created_month}-{created_day}_{tag_list}_{title}'
 

Monacum

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
03. Jan 2022
Beiträge
2.218
Punkte für Reaktionen
1.038
Punkte
224
Dann musst du den Unterstrich durch einen Slash ersetzen 😉
 
  • Like
Reaktionen: Kenji

wooohooo

Benutzer
Mitglied seit
25. Mrz 2014
Beiträge
13
Punkte für Reaktionen
13
Punkte
3
So, Paperlessngx läuft nun mit Mariadb. Danke für die ganzen Beiträge. Die Sufu in diesem Thread hat mit sehr geholfen :)

Ich habe die Ordner manuell angelegt, dann im Container Manager ein Projekt erstellt und die editierte yml eingefügt.

Synology DS723+
DSM 7.21
MariaDB 11.3.2
PAperlessngx 2.6.2

version: "3.4"
services:
broker:
image: library/redis:latest
restart: unless-stopped
volumes:
- /volume2/docker/paperless-ngx/redisdata:/data
db:
image: library/mariadb:latest
container_name: mariadb
restart: unless-stopped
volumes:
- /volume2/docker/paperless-ngx/mariadb:/var/lib/mysql
command:
- "--character-set-server=utf8mb4"
- "--collation-server=utf8mb4_unicode_ci"
environment:
TZ: Europe/Paris
MARIADB_HOST: paperless
MARIADB_DATABASE: paperless
MARIADB_USER: paperless
MARIADB_PASSWORD: paperless
MARIADB_ROOT_PASSWORD: geheim

webserver:
image: paperlessngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- "8001:8000" # ändere es, wenn du möchtest
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- /volume2/docker/paperless-ngx/data:/usr/src/paperless/data
- /volume2/docker/paperless-ngx/media:/usr/src/paperless/media
- /volume2/docker/paperless-ngx/export:/usr/src/paperless/export
- /volume2/docker/paperless-ngx/consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBENGINE: mariadb
PAPERLESS_DBHOST: db
PAPERLESS_DBPORT: 3306
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_OCR_LANGUAGES: eng deu # ändere es, wenn du möchtest
PAPERLESS_OCR_LANGUAGE: deu+eng # ändere es, wenn du möchtest
USERMAP_UID: 1026
USERMAP_GID: 100
PAPERLESS_TIME_ZONE: Europe/Berlin # ändere es, wenn du möchtest
PAPERLESS_ADMIN_USER: admin
PAPERLESS_ADMIN_PASSWORD: ganzgeheim
PAPERLESS_SECRET_KEY: nochgeheimer
PAPERLESS_FILENAME_FORMAT: "{correspondent}/{created_year}/{created}-{correspondent}-{document_type}-{title}-{tag_list}'"

dns:
- 8.8.8.8
- 8.8.4.4

gotenberg:
image: gotenberg/gotenberg:latest
restart: unless-stopped
container_name: PaperlessNGX-GOTENBERG
ports:
- 3000:3000
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"

tika:
image: apache/tika:latest
container_name: PaperlessNGX-TIKA
restart: unless-stopped
ports:
- 9998:9998

volumes:
data:
media:
redisdata:
 
Zuletzt bearbeitet:
  • Like
Reaktionen: dirk1305 und Monacum


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat