Benutzer-Werkzeuge

Webseiten-Werkzeuge


paperless_pi_note1

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
paperless_pi_note1 [2026/04/02 20:09] – angelegt administratorpaperless_pi_note1 [2026/06/25 21:51] (aktuell) – [Aufruf im Browser] administrator
Zeile 1: Zeile 1:
 ====== Paperless in Docker einrichten ====== ====== Paperless in Docker einrichten ======
  
-''**Letztes Update 2026/02/14 20:41**''\\ \\+''**Letztes Update 2026/06/25 21:47**''\\ \\
  
 \\ \\
Zeile 14: Zeile 14:
   mkdir /home/pi/paperless-ngx/export   mkdir /home/pi/paperless-ngx/export
   touch /home/pi/paperless-ngx/.env && printf "COMPOSE_PROJECT_NAME=paperless\n">/home/pi/paperless-ngx/.env   touch /home/pi/paperless-ngx/.env && printf "COMPOSE_PROJECT_NAME=paperless\n">/home/pi/paperless-ngx/.env
- 
-   
   touch /home/pi/paperless-ngx/docker-compose.env && printf "# Paperless-ngx settings\n">/home/pi/paperless-ngx/docker-compose.env   touch /home/pi/paperless-ngx/docker-compose.env && printf "# Paperless-ngx settings\n">/home/pi/paperless-ngx/docker-compose.env
  
Zeile 75: Zeile 73:
  
   webserver:   webserver:
-    image: ghcr.io/paperless-ngx/paperless-ngx:latest+    image: ghcr.io/paperless-ngx/paperless-ngx:2.20.15
     restart: unless-stopped     restart: unless-stopped
     depends_on:     depends_on:
Zeile 179: Zeile 177:
   touch ppl_backup.sh   touch ppl_backup.sh
   sudo nano ppl_backup.sh   sudo nano ppl_backup.sh
 +
 +==== 1. Backup-Script für externe Sicherung auf NAS ====
 +
 +<code bash>
 +
 +#!/bin/bash
 +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 +# Bash für die Datensicherung von Paperless-ngx
 +# Ver.: 0.1 120324 Verzeichnis nach Datum erstellen
 +# Ver.: 0.2 010125 export Verzeichnis update      ede
 +# Ver.: 0.3 180125 Löschen von Daten, die älter als 5 Tage sind      ede
 +#
 +# ppl_backup.sh
 +#
 +
 +# QNAP Mount
 +mount_dir="/mnt/sicherung"
 +
 +# Momentanes Datum und Uhrzeit
 +c_datetime=$(date +"%Y-%m-%d_%H-%M-%S")
 +bkp_ordner="paperless_213-${c_datetime}"
 +
 +mkdir "${mount_dir}/${bkp_ordner}"
 +
 +# Docker-Container herunterfahren
 +echo Docker Container werden heruntergefahren
 +docker stop $(docker ps -q)
 +
 +echo Daten werden kopiert. Bitte warten . . . . .
 +echo
 +scp -r /home/pi/paperless-ngx/ "${mount_dir}/${bkp_ordner}"
 +scp -r /var/lib/docker/volumes/paperless_data "${mount_dir}/${bkp_ordner}"
 +scp -r /var/lib/docker/volumes/paperless_pgdata "${mount_dir}/${bkp_ordner}"
 +scp -r /var/lib/docker/volumes/paperless_redisdata "${mount_dir}/${bkp_ordner}"
 +
 +# Docker-Container wieder starten
 +echo
 +echo Docker Container werden wieder hochgefahren
 +docker start $(docker ps -a -q)
 +
 +# export Verzeichnis update
 +echo
 +echo export-Verzeichis wird neu erstellt
 +cd /home/pi/paperless-ngx
 +sudo docker compose exec -T webserver document_exporter ../export
 +
 +echo
 +echo Alte Sicherung löschen
 +
 +# Löschen aller Dateien die vom heutigen Tag älter als 5 Tage sind
 +# Es müssen daher 6 Tage Sicherung übrig sein
 +# -maxdepth 1: Bei der Suche die Unterverzeichnisse nicht einbeziehen, -type -d: Directory
 +#
 +# find /mnt/sicherung/@Recycle/ -type d -name 'paperless_213*' -mtime +10 -exec rm -r {} \;
 +find /mnt/sicherung/ -maxdepth 1 -type d -name 'paperless_213*' -mtime +5 -exec rm -r '{}' \;
 +
 +
 +echo
 +echo Fertig
 +echo
 +
 +
 +</code>
 +
 +
 +==== 2. Backup-Script für lokale Sicherung ====
  
 <code bash> <code bash>
Zeile 282: Zeile 346:
 In die ''**crontab**'' wird die Zeile: In die ''**crontab**'' wird die Zeile:
  
-  # Dateien von Paperless-ngx jeden Tag um 4 Uhr zu sichern.+  # Dateien von Paperless-ngx jeden Tag um 4 Uhr sichern.
   00 04 * * * root /home/pi/ppl_backup.sh   00 04 * * * root /home/pi/ppl_backup.sh
  
Zeile 347: Zeile 411:
 </code> </code>
  
 +Soll auf ein neues System kopiert werden, kann man die Daten des /export-Ordners einfach auf einen Usb-Stick kopieren und dann im neuen Raspberry mounten. Dazu mit ''lsblk'' der Partition herausfinden (sda1, sdb1, ...), einen Ordner für den Mountpoint erstellen: ''sudo mkdir -p /mnt/usb'' und dann den Stick mit ''sudo mount -t vfat -o iocharset=utf8,rw,users /dev/sdb1 /mnt/usb'' einhängen.
 +
 +Wenn beim Import der Fehler **<color #ed1c24>CommandError: That directory doesn't appear to contain a manifest.json file</color>** auftritt, dieses File aber im ''**/export**-Verzeichnis'' vorhanden ist, den Raspberry mit ''**sudo reboot**'' neu starten.
  
 <WRAP center box 95%> <WRAP center box 95%>
  
-Möchte man später die Dokumente in eine Neu-Installation von Paperless-ngx aufnehmen oder zieht man beispielsweise vom Raspberry Pi zu einem Synology-NAS umso gibt man auf dem Paperless-ngx-Pfad fast den gleichen Befehl ein:+Falls das alte System noch läuft, mit FileZilla den Inhalt des /export-Verzeichisses in das /export-Verzeichnis des neuen Systems kopieren. sobald die Übertragung beendet istkann der Import-Befehl abgesetzt werden.
  
-  sudo docker-compose exec webserver document_importer ../export+  sudo docker compose exec webserver document_importer ../export
  
-Natürlich müssen zuvor die gesicherten Dateien in den Unterpfad „export“ kopiert werden.+</WRAP>
  
-  sudo docker-compose exec webserver document_exporter ../export +----
  
-//__Quelle:__// [[https://digital-cleaning.de/index.php/paperless-ngx-teil-8-exportfunktion-nutzen/|digital-cleaning]]+====== Update von Paperless-ngx ======
  
-</WRAP>+Vor dem Update ist es empfehlenswert, die Paketlisten zu aktualisieren:  
 + 
 +<code>sudo apt -y update && sudo apt -y upgrade</code> 
 + 
 +da es ansonsten zu unschönen Abbrüchen oder Fehlermeldungen kommen kann. 
 + 
 +Hier wird ein Update von Paperless 2.13.5 auf die Version 2.20.15 im Portainer beschrieben. Den Portainer aufrufen, die ''**Stacks**'' auswählen und ''**paperless**'' markieren. 
 + 
 +{{ :paperless:upd_bild_01.png | }} 
 + 
 +Auf ''**Stop the stack**'' klicken. 
 + 
 +{{ :paperless:upd_bild_03.png | }} 
 + 
 +Es folgt noch eine Sicherheitsabfrage. Hier auf ''**Stop**'' klicken 
 + 
 +{{ :paperless:upd_bild_04.png | }} 
 + 
 +und abwarten, bis die Stacks gestoppt sind. Dies wird am rechten, oberen Fensterrand kurz angezeigt. 
 + 
 +{{ :paperless:upd_bild_05.png | }} 
 + 
 +Auf ''**Editor**'' klicken und in der Sektion ''**webserver:**'' die gewünschte Version eintragen. Hier kann natürlich anstatt der Version auch ''**latest**'' eingetragen werden. Ich habe mich hier dazu entschieden, die Versionsnummer der ''latest''-Version einzutragen, da es ansonsten später nicht mehr einfach nachvollziehbar ist, welche Version installiert ist. Die Versionen und deren Updates sind auf der [[https://github.com/paperless-ngx/paperless-ngx/releases|Githab Seite Paperless-ngx Releases]] gelistet. 
 + 
 +{{ :paperless:upd_bild_02.png | }} 
 + 
 + Wenn das erledigt ist, auf ''**Update the Stack**'' klicken. 
 + 
 +{{ :paperless:upd_bild_06.png | }} 
 + 
 +Bevor in der nächsten Sicherheitsabfrage auf ''**Update**'' geklickt wird, den Schalter ''**Re-pull image and redeploy**'' einschalten. 
 + 
 +{{ :paperless:upd_bild_07.png | }} 
 + 
 +Damit ist der Updatevorgang beendet und, wenn alles gut gegangen ist, startet Paperless-ngx in der neuen Version.
  
 ---- ----
Zeile 382: Zeile 483:
  
 ===== Samba konfigurieren ===== ===== Samba konfigurieren =====
- 
-In der [global] Sektion die folgenden Zeilen eintragen: 
  
   sudo nano /etc/samba/smb.conf    sudo nano /etc/samba/smb.conf 
 +
 +In der **[global]** Sektion die folgenden Zeilen eintragen:
  
   workgroup = WORKGROUP   workgroup = WORKGROUP
Zeile 411: Zeile 512:
   create mask=0755   create mask=0755
  
 +Die **smb.conf** speichern und beenden.
  
 Diese Konfigurationsdatei wird durch die Eingabe von Diese Konfigurationsdatei wird durch die Eingabe von
paperless_pi_note1.1775153342.txt.gz · Zuletzt geändert: von administrator