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