Smart Home / Sicherheit

Paperless-ngx auf UGREEN DXP 4800 Plus mit UGOS Pro installieren (Docker Compose)

In diesem Beitrag zeige ich dir Schritt für Schritt, wie du paperless-ngx auf einer UGREEN NASync DXP 4800 Plus unter UGOS Pro installierst – sauber, reproduzierbar und mit einer ordentlichen Ordnerstruktur.
Wir nutzen Docker Compose, damit die Installation nicht nur einmal klappt, sondern auch später Updates/Backups einfach bleiben.

Hinweis: Du brauchst nicht zwingend die Docker-App in UGOS Pro – du kannst alles per SSH/Terminal machen. Die App ist nur komfortabel zum Starten/Stoppen/Logs ansehen.


Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Was ist Paperless-ngx – und was läuft im Hintergrund?

Paperless-ngx besteht in diesem Setup aus drei Containern:

  • paperless: die Weboberfläche + Verarbeitung (Import, OCR, Suche, Tags, Regeln)
  • db (PostgreSQL): Datenbank für Benutzer, Tags, Regeln, Metadaten usw.
  • redis: Job-Queue/Broker für Hintergrundaufgaben (Import/OCR), damit die Weboberfläche flüssig bleibt

Voraussetzungen

  • UGREEN NAS mit UGOS Pro
  • Docker + Docker Compose installiert (bei dir: Compose v2.x)
  • SSH aktiviert (Systemsteuerung → Terminal → SSH aktivieren)

Ordnerstruktur auf dem NAS

Lege dir einen Ordner für Paperless an (bei mir liegt das auf /volume2, bei dir kann es auch /volume1 sein).

Beispiel:

/volume2/docker/paperless/
├─  consume/
├─  data/
├─  media/
├─  export/
└─  db/

Wofür ist welcher Ordner?

  • consume/Eingangskorb / Hotfolder: Hier landen neue Scans/PDFs, die Paperless automatisch importiert.
  • media/Dokumentenarchiv: Hier liegen am Ende deine finalen Dokumente (sehr wichtig fürs Backup).
  • data/App-Daten: Paperless interne Daten/Index/Thumbnails etc.
  • export/Exporte/Backups: Ziel für Exporte aus Paperless heraus.
  • db/Datenbank: PostgreSQL-Daten (User, Tags, Regeln, Metadaten, Zuordnungen).

Tipp: Viele Fehler entstehen durch einen Tippfehler. Der Ordner heißt consume (nicht „consumer“).


Docker Compose Datei anlegen (docker-compose.yml)

Erstelle im Ordner /volume2/docker/paperless/ eine Datei namens:

docker-compose.yml

und füge folgendes ein:

services:
    db:
        image:  postgres:16
        container_name:  paperless-db
        restart:  unless-stopped
        environment:
            POSTGRES_DB:  paperless
            POSTGRES_USER:  paperless
            POSTGRES_PASSWORD:  CHANGE_ME_DB_PASSWORD
        volumes:
            -  /volume2/docker/paperless/db:/var/lib/postgresql/data

    redis:
        image:  redis:7
        container_name:  paperless-redis
        restart:  unless-stopped

    paperless:
        image:  ghcr.io/paperless-ngx/paperless-ngx:latest
        container_name:  paperless
        restart:  unless-stopped
        depends_on:
            -  db
            -  redis
        ports:
            -  "8000:8000"
        environment:
            PAPERLESS_REDIS:  redis://redis:6379

            PAPERLESS_DBHOST:  db
            PAPERLESS_DBNAME:  paperless
            PAPERLESS_DBUSER:  paperless
            PAPERLESS_DBPASS:  CHANGE_ME_DB_PASSWORD

            PAPERLESS_TIME_ZONE:  Europe/Berlin
            PAPERLESS_OCR_LANGUAGE:  deu+eng

            PAPERLESS_SECRET_KEY:  CHANGE_ME_SUPER_SECRET_KEY
            #  Optional  bei  Reverse  Proxy  /  eigener  Domain:
            #  PAPERLESS_URL:  https://paperless.deinedomain.tld

            #  Optional  bei  Rechteproblemen:
            #  PAPERLESS_UID:  1000
            #  PAPERLESS_GID:  1000

        volumes:
            -  /volume2/docker/paperless/data:/usr/src/paperless/data
            -  /volume2/docker/paperless/media:/usr/src/paperless/media
            -  /volume2/docker/paperless/export:/usr/src/paperless/export
            -  /volume2/docker/paperless/consume:/usr/src/paperless/consume

Was MUSS angepasst werden?

  1. Pfade: Wenn du nicht /volume2 nutzt, ersetze überall /volume2 durch dein Volume (z. B. /volume1).
  2. DB Passwort: CHANGE_ME_DB_PASSWORD ersetzen (starkes Passwort).
    • Wichtig: POSTGRES_PASSWORD und PAPERLESS_DBPASS müssen identisch sein.
  3. Secret Key: CHANGE_ME_SUPER_SECRET_KEY ersetzen (lang & zufällig).
    • Das ist der Signierschlüssel (Sessions/CSRF/Token-Signaturen). Einmal setzen und danach nicht mehr ändern.

Secret Key generieren (Mac):

openssl  rand  -base64  48

Installation per SSH (Start des Stacks)

Per SSH auf die NAS verbinden:

ssh  <DEIN_USER>@<NAS-IP>

Dann in den Ordner wechseln und prüfen, ob die Compose-Datei da ist:

cd  /volume2/docker/paperless
ls  -la

Wenn du hier docker-compose.yml siehst, Stack starten:

sudo  docker  compose  up  -d

Status prüfen:

sudo  docker  compose  ps

Erster Login / Benutzer anlegen (2 Wege)

Weg 1: Im Browser (First-Run Maske)

Öffne:

http://NAS-IP:8000

Wenn Paperless beim ersten Aufruf eine „User anlegen“-Maske zeigt: Admin erstellen → fertig.

Weg 2: Plan B (immer zuverlässig per Terminal)

Falls die Maske nicht erscheint oder du keinen Login hast:

sudo  docker  compose  exec  paperless  python  manage.py  createsuperuser

Danach im Browser anmelden unter http://NAS-IP:8000.


Test: Automatischer Import über den consume-Ordner

Lege eine PDF in:

/volume2/docker/paperless/consume

Paperless sollte die Datei automatisch importieren und verarbeiten (OCR), danach taucht sie im Web-UI auf.


Typische Fehler & schnelle Lösungen

1) „no configuration file provided: not found“

Du bist im falschen Ordner.

Fix:

pwd
ls  -la

Du musst die docker-compose.yml im aktuellen Verzeichnis sehen.
Alternativ direkt mit Pfad starten:

sudo  docker  compose  -f  /volume2/docker/paperless/docker-compose.yml  up  -d

2) Container startet ständig neu (Restart-Loop)

Fast immer ein Log-Problem: DB, Passwort, Rechte, Migration.

Logs anschauen:

sudo  docker  compose  logs  --tail=200  paperless
sudo  docker  compose  logs  --tail=200  db

Sehr häufig: DB-Passwort falsch / geändert

Wenn in den Logs steht:
password authentication failed for user "paperless"

Dann stimmen POSTGRES_PASSWORD und PAPERLESS_DBPASS nicht überein – oder du hast das Passwort nach dem ersten Start geändert.

Wenn noch keine Daten wichtig sind (sauberer Reset):

sudo  docker  compose  down
sudo  rm  -rf  /volume2/docker/paperless/db/*
sudo  docker  compose  up  -d

Achtung: Das löscht die Datenbank (Paperless-Metadaten). Dokumente in media bleiben, aber Zuordnungen/Tags wären weg.

3) Rechteprobleme (Permission denied)

Wenn Paperless nicht in data/media/consume schreiben kann, hilft meist:

  • NAS-Rechte prüfen oder
  • PAPERLESS_UID / PAPERLESS_GID setzen

Updates (kurz & schmerzfrei)

cd  /volume2/docker/paperless
sudo  docker  compose  pull
sudo  docker  compose  up  -d

Backup Empfehlung (Minimal)

Mindestens sichern:

  • /volume2/docker/paperless/db
  • /volume2/docker/paperless/media
  • /volume2/docker/paperless/data

Optional zusätzlich:

  • /volume2/docker/paperless/export

Fazit

Wenn Ordnerstruktur, Compose-Datei und Passwörter sauber gesetzt sind, läuft Paperless-ngx auf der UGREEN NAS sehr stabil.
Der Vorteil des Docker-Compose-Setups: einfach startbar, leicht updatebar und gut zu sichern.

Wenn du Fragen hast oder irgendwo hängst: Schreib gern in die Kommentare (am besten mit der Ausgabe von docker compose ps und den Logs).

Downloads

Docker Compose Vorlage (docker-compose.yml):
👉 Download: Docker Compose Beispiel Datei

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Please disable your adblocker or whitelist this site!

WordPress Cookie Hinweis von Real Cookie Banner