Paperless NGX - Wo besser hosten?

Dicken

Member
Hey, ich bin grad nicht sicher wo ich das Thema am besten reinpacken kann, daher bitte verschieben wenn ihr einen besseren Platz dafür habt 🙈.

Also zu meinem "Problem": Ich möchte gerne Paperless NGX Installieren, nur bin ich nicht sicher wo es am besten aufgehoben ist.
Ich habe zwei Möglichkeiten:

1. auf meinem NUC (16GB RAM) in einem LXC Container (Backups der Container als Snapshot werden automatisch regelmäßig auf meinem NAS abgelegt)
oder
2. auf meinem Synology NAS (4GB RAM) mit gespiegelten Festplatten.

Was würdet ihr machen?

LG
Dicken
 
Wenn das NAS Docker-fähig ist, es gibt wohl einige, die das direkt auf ihrer Syno laufen lassen (z.B. hier). Ich persönlich halte davon eher nix, für mich ist ein NAS ein Storage, für alles andere gibt es anderweitige Systeme mit entsprechenden Möglichkeiten (Container/VMs), insofern würde man sowas bei mir eher auf auf einem Hypervisor/Dockerhost finden. Ist aber auch nur meine persönliche Meinung, ich bin mir relativ sicher, dass die meisten es eher anders sehen ☺️
 
Ja ich denke auch eigentlich dass es eher besser auf dem NUC aufgehoben ist. in einem eigenen LXC Container mit docker und docker-compose.
Ich habe die Befürchtung dass die 4GB im NAS auch evtl. etwas schwach sein könnten, wenn dann noch tika und gotenberg dazu kommen.
Die Dokumenten Ordner könnte man ja aus dem Docker raus mappen. Wobei ich mir denke, dass man eh nie in den Ordner guckt, wenn man das Webinterface von Paperless zu verfügung hat.
Und ein regelmäßiges Snapshot welches dann extern auf dem NAS liegt, sollte ja auch als Backup genügen.
 
Ich lasse das auf einem Raspi5/8 GB mit SSD laufen, die Datensicherung erfolgt dann von dort auf das NAS. Tika und Gotenberg schafft der problemlos.
 
…ich bin mir relativ sicher, dass die meisten es eher anders sehen
Im Fall von Paperless-ngx wäre ich so ein Kandidat. Da auf meinem NAS seit eh und je mein papierloses Büro angesiedelt ist. Mit Paperless-ngx schließt sich demnach der Kreis für mich. Es gibt aber durchaus Fälle, wo ich Container eben nicht auf dem NAS laufen lassen würde. Mir fallen grad nur keine ein 🤣
 
Ist anscheind eher so ne Glaubensfrage :D Ist beides möglich und jede Variante hat seine Vor und Nachteile. Ich schwanke noch :D

@Stationary hast es aber schon in einem Docker laufen oder? Magst du mir mal deine docker-compose.yml zeigen? Hast du die Dokumentenordner ausgelagert und über SMB oder so eingebunden?

@Tommes du hast es vermutlich über Portainer oder Container Manager auf dem Synology?
 
Moinsen,
ich bin eigentlich (!) auch eher der Typ "NAS > Fileserver, sonst nix".
Da die Maschinen (hier eine 920+) aber immer potenter werden und die RAM Erweiterung auf 16 GB auch nicht nur fürs verkaufende Geschäft dienlich sein soll, habe ich einige (wenige ) Dienste doch aufs NAS gepackt:
- Calendar und Contacts, Notestation, Photo, DLNA Server (syno App)
- Heimdall (docker)
- portainer (docker)
- paperlessNGX (docker)
Letzteres deswegen, weil ich die digitalisierten Dokumente durchaus als Files vorhalten will auf dem NAS, es werden ja sowohl die mit paperless katalogisierten Dokus (Datenbank) als auch die reinen pdfs dort hinterlegt.
Allerdings: mehr wird dann auch nicht hinzukommen, sollte dann später doch noch was Leckeres um die Ecke kommen, würde ich auch eher eine Raspi4 als Server aufsetzen, auf dem dann weitere Docker Container untergebracht werden...

Wichtig wäre ggf. noch (auch wenn der TE das sicher schon weiß): ein reiner Snapshot könnte nicht reichen, wenn (falls) die DB Version sich ändert und hierbei postgres genutzt wird. Da wird ja immer wieder hingewiesen, dass ein zusätzlicher db dump bei Versionssprüngen helfen soll...den dann eben auch mit sichern. :)
 
Wichtig wäre ggf. noch (auch wenn der TE das sicher schon weiß): ein reiner Snapshot könnte nicht reichen, wenn (falls) die DB Version sich ändert und hierbei postgres genutzt wird. Da wird ja immer wieder hingewiesen, dass ein zusätzlicher db dump bei Versionssprüngen helfen soll...den dann eben auch mit sichern. :)
Ja das weiß ich schon :) Aber eine DB Version ändert sich ja auch nur wenn man sie updatet :) Mir geht es aktuell bei der Backupfrage eher dadrum, dass man seine Dokumente noch irgendwo anders liegen hat und dran kommt, falls mal die Festplatte abraucht.

und meine Paperless-ngx Compose Files hast du ja bereits ;)
Deshalb hab ich auch nicht nach gefragt :D Hab aber dummerweise schon einen anderen Stack laufen mit einer MariaDB, die ich erstmal auslagern müsste. Aktuell hab ich Paperless zu Testzwecken auch im Portainer auf dem NAS, aber mit einer PostgresDB.
 
Code:
# Docker Compose file for running paperless from the docker container registry.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
#   as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this Docker Compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
# - Apache Tika and Gotenberg servers are started with paperless and paperless
#   is configured to use these services. These provide support for consuming
#   Office documents (Word, Excel, Power Point and their LibreOffice counter-
#   parts.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
#   and '.env' into a folder.
# - Run 'docker compose pull'.
# - Run 'docker compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.

version: "3.4"
services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - redisdata:/data

 db:
   image: docker.io/library/postgres:15
   restart: unless-stopped
   volumes:
     - /home/<user>/paperless-ngx/database:/var/lib/postgresql/data
   environment:
     POSTGRES_DB: x
     POSTGRES_USER: x
     POSTGRES_PASSWORD: x

 webserver:
   image: ghcr.io/paperless-ngx/paperless-ngx:latest
   restart: unless-stopped
   depends_on:
     - db
     - broker
     - gotenberg
     - tika
   ports:
     - "8000:8000"
   volumes:
     - /home/<user>/paperless-ngx/data:/usr/src/paperless/data
     - /home/<user>/paperless-ngx/media:/usr/src/paperless/media
     - ./export:/usr/src/paperless/export
     - /home/<user>/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_OCR_USER_ARGS: '{"invalidate_digital_signatures": true,"continue_on_soft_render_error": true}'

 gotenberg:
   image: docker.io/gotenberg/gotenberg:7.10
   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: ghcr.io/paperless-ngx/tika:latest
   restart: unless-stopped

volumes:
  redisdata:

Ich habe die Verzeichnisse direkt auf das Nutzer-Home des Pi5 gelegt.
Als Backup wird einfach das gesamte paperless-ngx-Verzeichnis auf ein gemountetes Verzeichnis der Diskstation kopiert.
 
Am Ende auf die trivialste Art und Weise:
Per fstab wird ein Verzeichnis der Diskstation gemountet und per crontab einmal täglich bzw. nächtlich eine Kopie des gesamten Ordners paperless-ngx von der Pi5-SSD in den gemounteten Ordner der DS erstellt.
Meinen Ansprüchen genügt das, zumal die DS ja auch noch getrennt gesichert wird.
 
Da ich mein ganzes NAS-System abgeschafft habe, betreibe ich paperless-ngx auf einen Proxmox-LXC.
Beim Importieren einer PDF-Sammlung gab es bei einem Dokument einen Fehler. Leider weiß ich nicht mehr welcher es war. Die Lösung war, dass ich den RAM für den Container von 4Mb auf 8Mb erhöht habe.
Ein Wort zum Backup, es gibt ein Backup welches paperless selbst erstellen kann
Code:
/usr/bin/docker exec paperless-webserver-1 document_exporter ../export -
Dann befindet sich eine zip-Datei im Unterordner export, welche man dann verschieben oder kopieren kann.
 
Ja klar GB
Mit einer compose-Datei, kann ich nicht dienen, da ich paperless per portainer installiert habe. Den dazugehören stack kann ich gerne posten.
 
Ja klar GB
Mit einer compose-Datei, kann ich nicht dienen, da ich paperless per portainer installiert habe. Den dazugehören stack kann ich gerne posten.
Das was du im Webeditor im Portainer reinschreibst um einen neuen Stack zu erstellen ist das selbe wie eine Compose Datei :) Also ja, gerne posten.
 
Code:
version: "3.8"
services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - redisdata:/data
  db:
    image: docker.io/library/postgres:16
    restart: unless-stopped
    volumes:
      - /data/paperless/pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: x
      POSTGRES_PASSWORD: x
  webserver:
    image: paperlessngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
      - gotenberg
      - tika
    ports:
      - 8010:8000
    healthcheck:
      test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - /data/paperless/data:/usr/src/paperless/data
      - /data/paperless/media:/usr/src/paperless/media
      - /data/paperless/export:/usr/src/paperless/export
      - /data/paperless/consume:/usr/src/paperless/consume
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
      PAPERLESS_FILENAME_FORMAT: "{created_year}/{correspondent}/{title}"
      PAPERLESS_DBHOST: db
      #PAPERLESS_SECRET_KEY: <deinSecretkey>
      PAPERLESS_ADMIN_USER: x
      PAPERLESS_ADMIN_PASSWORD: x
      PAPERLESS_TIME_ZONE: Europe/Berlin
      PAPERLESS_OCR_LANGUAGE: deu+eng+pol
      PAPERLESS_OCR_LANGUAGES: deu eng pol
      USERMAP_UID: 1001
      USERMAP_GID: 1001

  gotenberg:
    image: docker.io/gotenberg/gotenberg:latest
    container_name: gotenberg
    restart: unless-stopped
    command:
      - "gotenberg"
      - "--chromium-disable-routes=true"
      - "--chromium-allow-list=file:///tmp/.*"

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

volumes:
  data:
  media:
  pgdata:
  redisdata:
 
Danke, versuch mir grad aus sämtlichen compose dateien die ich so finde das beste zusammen zu stellen.

Aber 8GB RAM is schon häftig, ich hatte dem LCX jetzt erstmal 2GB gegönnt :D

Wieviel Cores hast du ihm den zugewiesen?
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.456
Beiträge
53.919
Mitglieder
5.257
Neuestes Mitglied
B4c4rd1
Zurück
Oben