Paperless-ngx Install über Container Manager, Lauffähig erst nach Freigabe für Everyone

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Alf-59

Benutzer
Registriert
30. Jan. 2026
Beiträge
6
Reaktionspunkte
1
Punkte
3
Hallo an das Forum,
da ich hier neu bin, hoffe ich hier richtig zu sein.
Nach einigem hin und her habe ich es nun geschafft Paperless-ngx zu installieren und lauffähig zu bekommen.
Meine Konfiguration ist eine DS918+, DSM7.2 und Container Manager sowie Postgres:17.
Anfangs startete der paperless-ngx permanent neu, erst nach etlichen vegeblichen Vesuchen nachdem ich bei
consume, data, export und media die Berechtigungen für Everyone auf schreiben gesetzt hatte ist das Projekt einwandfrei gestartet.
Da ich die Verzeichnisse nicht offen lassen möchte, wäre meine Frage welche Berechtigungen ich setzen muß?
Im YAML habe ich meine UID und GID gesetzt.

Für einen Hinweis wäre ich dankbar.

Weiter würde ich gerne die Daten des Verzeichnis archive unter media außerhalb des dockers auf einem freigegebenen Verzeichnis spreichern, so dass ich auf diese Daten mit Drive und Smb lesend zugreifen kann, damit ich nichts im docker freigeben muß.
Ist das problemlos möglich, oder hat hier paperless-ngx Probleme.

Vielen dank für eine Unterstützung
 
!. Warum nicht postgres18, wenn du jetzt neu anfängst? Damit hast du 1 Jahr längere Sicherheitsupdates als mit 17. Das Update kann nur bzw. sollte nur über einen Dump gemacht werden.

2. Schau nach, ob die entsprechenden Ordner, welche Probleme machen, zu der UID passen. Die GIU ist grundsätzlich 100.

3. Poste deine Compose, eventuell hast du ja einen anderen Fehler.

4. Andere Ordnerpfade sind kein Problem, du musst nur in der Compose oder CLI den entsprechenden absoluten Pfad angeben.
 
1.Ich habe es mit Postgres18 nicht hinbekommen
Da ist die Datenbank nicht gestartet.

2. Die GIU ist 100

2. docker-compose.yml
services:
broker:
image: redis
container_name: paperless-ngx-redis
restart: unless-stopped
volumes:
- /volume1/docker/paperless-ngx/redis:/data

db:
image: postgres:17
container_name: paperless-ngx-db
restart: unless-stopped
volumes:
- /volume1/docker/paperless-ngx/db:/var/lib/postgresql/data
environment:
PUID: 1026
PGID: 100
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless

webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless-ngx
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- "8110:8000"
volumes:
- /volume1/docker/paperless-ngx/data:/usr/src/paperless/data
- /volume1/docker/paperless-ngx/media:/usr/src/paperless/media
- /volume1/docker/paperless-ngx/export:/usr/src/paperless/export
- /volume1/docker/paperless-ngx/consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_CONSUMER_RECURSIVE: true
PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS: true


gotenberg:
image: docker.io/gotenberg/gotenberg
container_name: paperless-ngx-gotenberg
restart: unless-stopped

# The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript.
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"

tika:
image: docker.io/apache/tika:latest
container_name: paperless-ngx-tika
restart: unless-stopped



docker-compose.env
USERMAP_UID=1026
USERMAP_GID=100
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_SECRET_KEY=xxx
PAPERLESS_ADMIN_USER: admin
PAPERLESS_ADMIN_PASSWORD: xxxx

# PAPERLESS_CONSUMER_RECURSIVE=true
# PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true

#PAPERLESS_URL=https://cts-nas-1.synology.me
#PAPERLESS_CSRF_TRUSTED_ORIGINS = https://cts-nas-1.synology.me
USERMAP_UID=1026
USERMAP_GID=100
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_SECRET_KEY=xxx
PAPERLESS_ADMIN_USER: admin
PAPERLESS_ADMIN_PASSWORD: xxxx

# PAPERLESS_CONSUMER_RECURSIVE=true
# PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true




4. Ok, kann ich nur archive aus dem Docker rausnehmen oder media komplett
 
Nachtrag :
Berechtigung der Ordner: media, export, consume, data
ContainerManager rw
administrators Voll
everyone rw

db, redis 999
 
  1. Weil du mit Postgres 17 angefangen hast und nachträglich auf 18 upgraden wolltest? Das geht nur über einen Datenbankdump. Nicht wirklich tragisch und kann über SSH, eine Aufgabe, über die GUI z.B. pgAdmin4 oder Adminer, direkt im Container oder über einen Backup-Container erstellt und wieder eingespielt werden. Wenn du Paperless, Immich und Co. einsetzen willst, also eine Software mit einer Datenbank im Hintergrund, solltest du dich vor dem produktiven Einsatz damit auseinandersetzen!
  2. Habe ich ja nichts anderes behauptet. Interessant ist die UID, siehe meine Anfrage in #2. Wie sieht es aber bei den entsprechenden Ordnern aus? Welcher Eigentümer und welche Rechte sind dort eingetragen? Entsprechende Informationen findest du in den Ordnereinstellungen in der Filestation.
  3. Docker Compose: Redis kannst du als Volume mounten, musst es aber nicht, da es eine Datenbank ist, die im RAM arbeitet, als Puffer zu der langsameren Postgres oder MariaDB/MySQL. Wer will, kann auch auf Valkey, einen Fork von Redis wechseln, nachdem es Streitigkeiten um die Lizenz von Redis gab. In den letzten Tagen habe ich dazu in einem Immich-Beitrag etwas geschrieben.
  4. compose.env: Warum sind da 2x USERMAP_UID und USERMAP_GID eingetragen? Die URLs ist hoffentlich nicht deine – am besten setzt du da einfach einmal „example“ ein.
  5. Du kannst den Ordner verschieben, wohin du willst. Du musst nur darauf achten, dass die Rechte und Pfade stimmen. Ich persönlich verwende für die Containerordner nur „relative“ Pfadangaben. Dann sucht der Container direkt im "paperless-ngx" Ordner nach den Unterordnern und verwende diese z.B.:
Code:
volumes:
- ./data:/usr/src/paperless/data
- ./media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume

Das gilt aber nur für Ordner, welche im root mit der compose liegen! Der Vorteil ist dabei, dass man diese Pfade nicht anpassen muss, wenn der Docker-Ordner auf ein anderes Volume oder System umgezogen wird. Für alle anderen Ordner nimmt man den vollständigen Pfad, wie in deiner Compose angegeben! Lediglich eine Ordnerebene höher als in das „Docker"-Verzeichnis kann man mit den Relativen-Pfad noch gehen.

Letztendlich sind das alles nur die Docker-Basics. Du solltest deine Grundlagen vertiefen. Irgendwelche Anleitungen aus dem Internet nachzubauen, ohne das System dahinter verstanden zu haben, wird nicht lange gutgehen! Immerhin willst du das System ja produktiv nutzen. Ich würde mit einer Testinstallation noch einmal anfangen und alles von der Einrichtung bis zum Dump noch einmal parallel testen. Letztendlich musst du ja nur den Paperless-ngx-Ordner kopieren und die Containernamen auskommentieren und den Stack/Projekt erstellen und starten.
 
Hallo Janüscht,
vielen Dank für deine Antworten.
Ich habe auch schon gemerkts, dass mein Wissen recht lückenhaft ist.
Das Paperless erfüllt meine Wünsche bisher nahezu vollständig und ich möchte so schnell wie möglich proiduktiv werden.
Davor will ich das System einigermaßen verstehen, da ich keinen Daten-Gau erleiden will.

zu deinen Punkten
1. Bisher habe ich ausschließlich über den Container-Manager alles eingerichtet - was für mich gut funktioniert hat. Nur mit den Rechnten der einzelnen Verzeichnisse hat es nicht geklappt und einen Haufen Zeit gekostet.
Und so weit ich in den Foren gelesen habe, bin ich nicht der Einzige mit dem Problem.
Ich glaube hier ist die Synology-Anwendung noch nicht ausgereift.
Mein Anspruch ist es nicht Alles im Detail zu verstehen, aber so weit zu kommen, dass ich das System auch nach einem Absturz sauber wieder in den Vorzustand bringen kann (Backup und Restore).
Außerdem möcht ich keinen Nutzer in den Docker lassen.
Daher will ich die Daten außerhalb des containers in einem freigegebenen Folder haben, wo es nur Leserechte gibt.
Das Einlesen der Daten vom Scanner oder direkt in die Synology würde ich ebenfalls über ein freigegebens Verzeichnis außerhalb des Dockers machen und die Files über eine Bash-Script in den Consume Pfad verschieben.

2.
1769954751088.png

3.Das würde ich so lassen wie es ist.

4. Meine Taste hat geprellt und so war das .env 2x drin.

5.Da ich alles nur über die DSM Oberfläche mache muß ich mit Pfadangaben arbeiten.
Wenn ich später mal den Consume umziehe und den Pfad in der yaml anpasse - gibt das Probleme in der Datenbank?


Ja, ich werden mir eine Testumgebung zulegen - ich bin in dem Thema und habe mit Containern keine Erfahrung.
Hast Du für mich einen Tip - Buch, Forum oder YouTube, wo ich gut vom Blindflug etwas über die Wolken komme?
 
Um die yaml auch später noch bearbeiten zu können, musst Du den Conteiner von Anfang an im Container Manager als Projekt mittels yaml einbringen.
Solltest Du Paperless aus der Registry installiert haben, ist eine nachträgliche Änderung der yaml eigentlich nicht mehr möglich.
Alternativ kannst Du auch "Portainer" oder erst neu hinzugekommen "dockhand" nutzen
 
Hat ja auch so.......

@Alf-59

Edit:
entschuldige bitte ich habe mich hier mit der Antwort vertan.
Heißt das jetzt auch alles richtig funktioniert wie Du es Dir vorstellst?
 
Zuletzt bearbeitet:
Ja, inzwischen funktioniert es. Ich mußte aber im Docker die Berechtigung der Folder erweitern.
Damit es läuft s.o. . Diese will ich wieder möglichst weit einschränken. Da fehlt mir zur Zeit die Info.
Und ich bastel noch an der Konfiguration, so dass es für mch passt.
Aber das Paperless selbst läuft sonst einwandfrei.
 
  • Like
Reaktionen: Benie

Additional post fields

 

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