Kapitel 16/Free Rohtext.md hinzugefügt
This commit is contained in:
864
Kapitel 16/Free Rohtext.md
Normal file
864
Kapitel 16/Free Rohtext.md
Normal file
@@ -0,0 +1,864 @@
|
|||||||
|
# Kapitel 16 – Paperless-ngx (Digitale Dokumentenverwaltung & OCR-Archiv)
|
||||||
|
|
||||||
|
## Einleitung
|
||||||
|
|
||||||
|
Im UCC spielt eine **zuverlässige Dokumentenverwaltung** eine zentrale Rolle – egal ob du Rechnungen, Verträge, Streaming-Belege oder Notizen sicher ablegen willst.
|
||||||
|
**Paperless-ngx** bietet dafür eine datensouveräne Lösung: eine schlanke, lokal gehostete Plattform, die deine Dokumente automatisch erkennt, verschlagwortet und durchsuchbar macht – komplett offline, ohne externe Cloud.
|
||||||
|
|
||||||
|
In diesem Kapitel baust du eine eigene **Paperless-ngx-Instanz** auf Basis eines **Debian-12-LXC** auf.
|
||||||
|
Du lernst, wie du sie installierst, konfigurierst und über den **Nginx Proxy Manager** sicher in dein UCC integrierst.
|
||||||
|
Das Ergebnis ist ein vollwertiges, durchsuchbares Dokumentenarchiv, das sich nahtlos in deine bestehende Infrastruktur einfügt.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** UCC-Übersicht mit markiertem Paperless-ngx-Container neben Nextcloud und Netdata
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Dieses Kapitel richtet sich an **Streamer:innen, Einsteiger:innen und Nerds**,
|
||||||
|
> die unabhängig arbeiten und ihre Daten lieber selbst verwalten wollen.
|
||||||
|
> Paperless-ngx läuft vollständig lokal – kein Konto, keine Telemetrie, keine Abhängigkeiten von Dritten.
|
||||||
|
|
||||||
|
Paperless-ngx kombiniert eine moderne Weboberfläche mit einer performanten **OCR-Erkennung** und klar strukturiertem Tag-System.
|
||||||
|
So wird dein UCC nicht nur zum digitalen Archiv, sondern auch zum Werkzeug für schnelle Recherche und revisionssichere Ablage.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Browseransicht mit Paperless-Dashboard (Dokumentenliste, Suchfeld und Tag-Filter sichtbar)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voraussetzungen & Ressourcen
|
||||||
|
|
||||||
|
Paperless-ngx ist ressourcenschonend, benötigt aber eine stabile Umgebung für den dauerhaften Betrieb.
|
||||||
|
Da das System mehrere Prozesse (Webserver, Datenbank, OCR-Engine) parallel ausführt, sollte der Container klar definiert dimensioniert sein.
|
||||||
|
|
||||||
|
### Container-Ressourcen
|
||||||
|
|
||||||
|
* **CPU:** 2 vCPU
|
||||||
|
Erforderlich, um OCR-Jobs und Webzugriffe parallel abarbeiten zu können, ohne dass sich die Erkennung verlangsamt.
|
||||||
|
|
||||||
|
* **RAM:** 4 GB
|
||||||
|
Die OCR-Engine (Tesseract) und die Django-basierte Weboberfläche profitieren stark von zusätzlichem Arbeitsspeicher.
|
||||||
|
|
||||||
|
* **Speicherplatz:** 30 GB
|
||||||
|
Reicht für das System, Caching, Logs und eine mittlere Dokumentenmenge aus.
|
||||||
|
Bei größerem Archiv kann später ein separater Storage angebunden werden.
|
||||||
|
|
||||||
|
* **Netzwerk:** Statische IP-Adresse oder DHCP-Reservierung
|
||||||
|
Notwendig für eine zuverlässige Integration in Proxy-Manager und Backup-Prozesse.
|
||||||
|
|
||||||
|
* **Betriebssystem:** Debian 12 (Bookworm)
|
||||||
|
Stabil, leichtgewichtig und in allen bisherigen UCC-Komponenten bewährt.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Ressourcenübersicht beim Erstellen des Paperless-LXC (vCPU 2 | RAM 4 GB | Storage 30 GB | Debian 12 Bookworm)
|
||||||
|
|
||||||
|
### Technische Voraussetzungen
|
||||||
|
|
||||||
|
Vor der Installation sollte das UCC folgende Bedingungen erfüllen:
|
||||||
|
|
||||||
|
* **Proxmox VE** ist eingerichtet und aktiv.
|
||||||
|
Der Container wird direkt über die Proxmox-Oberfläche erstellt und verwaltet.
|
||||||
|
|
||||||
|
* **Nginx Proxy Manager (NPM)** ist funktionsfähig.
|
||||||
|
Er stellt später die Weboberfläche von Paperless-ngx über HTTPS bereit.
|
||||||
|
|
||||||
|
* **DNS- oder DynDNS-Eintrag** für `paperless.deinedomain.tld` existiert.
|
||||||
|
Dieser ist notwendig, um ein gültiges SSL-Zertifikat ausstellen zu können.
|
||||||
|
|
||||||
|
* **Internetverbindung** im Container ist aktiv.
|
||||||
|
Paperless-ngx wird über die offiziellen Repositories installiert und benötigt Internetzugriff beim Setup.
|
||||||
|
|
||||||
|
* **SSH-Zugriff** auf den Container ist möglich, zum Beispiel:
|
||||||
|
```bash
|
||||||
|
ssh root@<IP-des-Containers>
|
||||||
|
```
|
||||||
|
Ersetze `<IP-des-Containers>` durch die tatsächliche Adresse deines Paperless-LXC.
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Der Paperless-Container sollte auf einem Host mit stabiler Netzwerkanbindung liegen und genügend I/O-Leistung haben.
|
||||||
|
> Die OCR-Erkennung erzeugt kurzzeitig hohe CPU- und Festplattenlast.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Proxmox-Interface mit markiertem Paperless-LXC in der Containerliste
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Schritt-für-Schritt-Anleitung
|
||||||
|
|
||||||
|
### Schritt 1 – System vorbereiten und aktualisieren
|
||||||
|
|
||||||
|
Starte den frisch erstellten Container und öffne die Konsole – direkt in Proxmox oder per SSH.
|
||||||
|
Führe anschließend ein vollständiges Systemupdate durch, um alle Pakete auf den neuesten Stand zu bringen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt update && apt upgrade -y
|
||||||
|
```
|
||||||
|
|
||||||
|
Nach Abschluss des Updates den Container neu starten:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
reboot
|
||||||
|
```
|
||||||
|
|
||||||
|
Melde dich nach dem Neustart erneut an:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@<IP-des-Containers>
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Das Update ist Pflicht, da Paperless-ngx auf aktuelle Python- und Systembibliotheken angewiesen ist.
|
||||||
|
> Alte Pakete können zu Fehlern bei der Installation oder beim Start des Webservers führen.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Proxmox-Konsole mit erfolgreichem Abschluss von `apt upgrade` (keine ausstehenden Pakete)
|
||||||
|
|
||||||
|
### Schritt 2 – Basis-Pakete installieren
|
||||||
|
|
||||||
|
Paperless-ngx benötigt für seine Installation einige grundlegende Pakete, um HTTPS-Verbindungen, GPG-Schlüssel und Python-Umgebungen zu verwalten.
|
||||||
|
Diese werden jetzt installiert:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
apt install -y ca-certificates curl gnupg lsb-release python3 python3-venv python3-pip redis-server
|
||||||
|
```
|
||||||
|
|
||||||
|
Damit sind alle zentralen Komponenten vorhanden, die Paperless-ngx später nutzt:
|
||||||
|
- **curl & gnupg:** für Repository- und Paketverwaltung
|
||||||
|
- **python3 & venv:** für die Django-basierte Weboberfläche
|
||||||
|
- **redis-server:** als Caching- und Warteschlangendienst
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Wenn bei der Installation ein Fehler auftritt, überprüfe zuerst die Internetverbindung des Containers
|
||||||
|
> und wiederhole den Befehl. Debian benötigt funktionierende DNS-Auflösung, um alle Abhängigkeiten zu laden.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminalausgabe nach erfolgreicher Installation der Grundpakete (`python3`, `redis-server`, `curl`)
|
||||||
|
|
||||||
|
### Schritt 3 – Benutzer und Verzeichnisstruktur anlegen
|
||||||
|
|
||||||
|
Paperless-ngx läuft sicherer, wenn es nicht als root, sondern unter einem eigenen Systembenutzer betrieben wird.
|
||||||
|
Lege daher zunächst den Benutzer und die Standardverzeichnisse an:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
useradd -r -m -d /opt/paperless -s /bin/bash paperless
|
||||||
|
mkdir -p /opt/paperless/data /opt/paperless/media /opt/paperless/export
|
||||||
|
chown -R paperless:paperless /opt/paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
Damit sind die grundlegenden Speicherorte angelegt:
|
||||||
|
- **/opt/paperless/data** – Datenbank, Konfiguration und interne Dateien
|
||||||
|
- **/opt/paperless/media** – Dokumente und OCR-Ergebnisse
|
||||||
|
- **/opt/paperless/export** – für spätere Backups oder manuelle Exporte
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Diese Struktur entspricht der Empfehlung des Paperless-Projekts und erleichtert spätere Updates oder Migrationen.
|
||||||
|
> Sie trennt Anwendungsdaten klar von Systempfaden.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminal mit ausgeführtem `ls -l /opt/paperless` (alle drei Unterordner sichtbar, Eigentümer „paperless“)
|
||||||
|
|
||||||
|
### Schritt 4 – Paperless-ngx installieren
|
||||||
|
|
||||||
|
Wechsle in das Benutzerverzeichnis und führe die Installation direkt unter dem Benutzer *paperless* aus:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
su - paperless
|
||||||
|
cd /opt/paperless
|
||||||
|
python3 -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install --upgrade pip wheel
|
||||||
|
pip install paperless-ngx
|
||||||
|
```
|
||||||
|
|
||||||
|
Damit wird die aktuelle stabile Version von Paperless-ngx aus dem offiziellen Python-Repository installiert.
|
||||||
|
Die Installation kann – je nach Systemleistung – mehrere Minuten dauern.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Paperless-ngx nutzt intern Django, Celery und Redis.
|
||||||
|
> Durch die Installation in einer eigenen virtuellen Umgebung (`venv`) bleiben alle Abhängigkeiten sauber getrennt vom Basissystem.
|
||||||
|
|
||||||
|
Nach Abschluss der Installation kannst du den Erfolg prüfen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
paperless-ngx --version
|
||||||
|
```
|
||||||
|
|
||||||
|
Die Ausgabe sollte eine aktuelle Versionsnummer anzeigen, z. B.:
|
||||||
|
```
|
||||||
|
paperless-ngx 2.11.2
|
||||||
|
```
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminalausgabe mit sichtbarer Paperless-ngx-Versionsnummer nach erfolgreicher Installation
|
||||||
|
|
||||||
|
### Schritt 5 – Umgebungsvariablen und Konfiguration einrichten
|
||||||
|
|
||||||
|
Paperless-ngx wird über eine `.env`-Datei gesteuert.
|
||||||
|
Darin legst du fest, **wo Daten gespeichert werden**, **welche Dienste verwendet werden** und **wie die Instanz erreichbar ist**.
|
||||||
|
Diese Datei ist das Herzstück der gesamten Installation – alle späteren Dienste (z. B. OCR, Webserver, Redis) lesen ihre Einstellungen daraus.
|
||||||
|
|
||||||
|
Erstelle die Datei im Hauptverzeichnis des Paperless-Benutzers:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nano /opt/paperless/.env
|
||||||
|
```
|
||||||
|
|
||||||
|
Füge folgenden Basisinhalt ein:
|
||||||
|
|
||||||
|
```
|
||||||
|
# Datenbank- und Caching-Backend
|
||||||
|
PAPERLESS_REDIS=redis://localhost:6379
|
||||||
|
PAPERLESS_DBENGINE=sqlite
|
||||||
|
PAPERLESS_DBNAME=/opt/paperless/data/db.sqlite3
|
||||||
|
|
||||||
|
# Verzeichnisse
|
||||||
|
PAPERLESS_CONSUMPTION_DIR=/opt/paperless/consume
|
||||||
|
PAPERLESS_DATA_DIR=/opt/paperless/data
|
||||||
|
PAPERLESS_MEDIA_ROOT=/opt/paperless/media
|
||||||
|
PAPERLESS_EXPORT_DIR=/opt/paperless/export
|
||||||
|
|
||||||
|
# Allgemeine Einstellungen
|
||||||
|
PAPERLESS_TIME_ZONE=Europe/Berlin
|
||||||
|
PAPERLESS_PORT=8000
|
||||||
|
|
||||||
|
# OCR-Konfiguration
|
||||||
|
PAPERLESS_OCR_LANGUAGE=deu
|
||||||
|
PAPERLESS_OCR_CLEAN=clean
|
||||||
|
PAPERLESS_OCR_MODE=skip
|
||||||
|
|
||||||
|
# Sicherheit
|
||||||
|
PAPERLESS_SECRET_KEY=$(openssl rand -hex 32)
|
||||||
|
```
|
||||||
|
|
||||||
|
Speichern (STRG + O, Enter) und schließen (STRG + X).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### Erklärung der wichtigsten Parameter
|
||||||
|
|
||||||
|
| Variable | Bedeutung |
|
||||||
|
|-----------|------------|
|
||||||
|
| `PAPERLESS_REDIS` | Adresse des lokalen Redis-Dienstes für Warteschlangen und Caching. |
|
||||||
|
| `PAPERLESS_DBENGINE` / `PAPERLESS_DBNAME` | Definiert die Datenbank. Im Free-Bereich nutzen wir SQLite (lokale Datei). |
|
||||||
|
| `PAPERLESS_CONSUMPTION_DIR` | Eingangsverzeichnis für neue Dokumente. Hier überwacht Paperless-ngx ständig auf neue Dateien. |
|
||||||
|
| `PAPERLESS_DATA_DIR` | System- und Konfigurationsdaten. |
|
||||||
|
| `PAPERLESS_MEDIA_ROOT` | Ablageort für erkannte, indizierte und verschlagwortete Dokumente. |
|
||||||
|
| `PAPERLESS_EXPORT_DIR` | Ziel für manuelle oder automatisierte Exporte. |
|
||||||
|
| `PAPERLESS_TIME_ZONE` | Lokale Zeitzone – wichtig für korrekte Zeitstempel. |
|
||||||
|
| `PAPERLESS_PORT` | Interner Port, über den die Anwendung erreichbar ist (wird später über NPM veröffentlicht). |
|
||||||
|
| `PAPERLESS_OCR_LANGUAGE` | Sprache der Texterkennung (ISO 639-3-Code). |
|
||||||
|
| `PAPERLESS_SECRET_KEY` | Zufallswert für kryptografische Funktionen (Session, Login). Wird einmalig generiert. |
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Der OCR-Modus kann später im Premium-Kapitel erweitert werden, um Scans automatisch zu bereinigen oder mehrsprachig zu verarbeiten.
|
||||||
|
> Für den Free-Bereich bleibt er bewusst minimal gehalten, um Ressourcen zu sparen.
|
||||||
|
|
||||||
|
Erstelle anschließend das noch fehlende Eingangsverzeichnis und setze korrekte Rechte:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir /opt/paperless/consume
|
||||||
|
chown -R paperless:paperless /opt/paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** geöffnete `.env`-Datei im Editor mit hervorgehobenen Abschnitten für Datenbank, OCR und Port
|
||||||
|
|
||||||
|
### Schritt 6 – Datenbank initialisieren und Teststart
|
||||||
|
|
||||||
|
Mit der Konfigurationsdatei im Platz kannst du Paperless-ngx jetzt zum ersten Mal starten.
|
||||||
|
Damit die Anwendung ihre Datenbank und internen Tabellen erstellt, führe folgende Befehle als Benutzer *paperless* aus:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
su - paperless
|
||||||
|
cd /opt/paperless
|
||||||
|
source venv/bin/activate
|
||||||
|
paperless-ngx migrate
|
||||||
|
```
|
||||||
|
|
||||||
|
Dieser Schritt legt automatisch die interne Datenbankstruktur an – Tabellen für Benutzer, Dokumente, Tags und OCR-Daten.
|
||||||
|
Sobald der Vorgang abgeschlossen ist, kann die Anwendung testweise gestartet werden:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
paperless-ngx runserver 0.0.0.0:8000
|
||||||
|
```
|
||||||
|
|
||||||
|
Öffne im Browser:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://<IP-des-Containers>:8000
|
||||||
|
```
|
||||||
|
|
||||||
|
Du solltest die Paperless-Anmeldeseite sehen.
|
||||||
|
Beim ersten Start ist noch kein Benutzer vorhanden – diesen legst du jetzt an:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
paperless-ngx createsuperuser
|
||||||
|
```
|
||||||
|
|
||||||
|
Folge den Eingabeaufforderungen und wähle einen sicheren Benutzernamen und ein starkes Passwort.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Der Teststart läuft im Vordergrund und dient nur zur Überprüfung der erfolgreichen Installation.
|
||||||
|
> Im nächsten Schritt wird der Dienst dauerhaft über systemd betrieben.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Browseransicht mit Paperless-Anmeldemaske unter `http://<IP-des-Containers>:8000`
|
||||||
|
|
||||||
|
### Schritt 7 – Dienst dauerhaft aktivieren (systemd)
|
||||||
|
|
||||||
|
Damit Paperless-ngx automatisch beim Start des Containers geladen wird, legen wir eine eigene systemd-Service-Datei an.
|
||||||
|
So läuft der Dienst im Hintergrund und startet nach einem Reboot selbstständig neu.
|
||||||
|
|
||||||
|
Erstelle die Datei:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nano /etc/systemd/system/paperless.service
|
||||||
|
```
|
||||||
|
|
||||||
|
Füge folgenden Inhalt ein:
|
||||||
|
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Paperless-ngx Document Management
|
||||||
|
After=network.target redis-server.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=paperless
|
||||||
|
Group=paperless
|
||||||
|
WorkingDirectory=/opt/paperless
|
||||||
|
EnvironmentFile=/opt/paperless/.env
|
||||||
|
ExecStart=/opt/paperless/venv/bin/paperless-ngx runserver 0.0.0.0:8000
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
Speichern (STRG + O, Enter) und schließen (STRG + X).
|
||||||
|
Anschließend systemd neu laden und den Dienst aktivieren:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable paperless
|
||||||
|
systemctl start paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
Prüfe, ob alles läuft:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl status paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
Die Ausgabe sollte **active (running)** anzeigen.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Wenn du Paperless später updatest, genügt ein einfacher Neustart des Dienstes:
|
||||||
|
> ```bash
|
||||||
|
> systemctl restart paperless
|
||||||
|
> ```
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminal mit sichtbarem `systemctl status paperless` und aktivem Dienststatus
|
||||||
|
|
||||||
|
### Schritt 8 – Integration in Nginx Proxy Manager (NPM)
|
||||||
|
|
||||||
|
Damit Paperless-ngx sicher und bequem erreichbar ist, wird der interne Port **8000** jetzt über den **Nginx Proxy Manager** veröffentlicht.
|
||||||
|
So erhältst du eine HTTPS-Verbindung mit gültigem SSL-Zertifikat und kannst die Oberfläche direkt über eine Subdomain wie `https://paperless.deinedomain.tld` öffnen.
|
||||||
|
|
||||||
|
#### Proxy-Host anlegen
|
||||||
|
|
||||||
|
1. Öffne das Dashboard des **Nginx Proxy Manager**.
|
||||||
|
2. Klicke auf **Add Proxy Host**.
|
||||||
|
3. Trage folgende Werte ein:
|
||||||
|
|
||||||
|
| Feld | Wert |
|
||||||
|
|------|------|
|
||||||
|
| **Domain Names** | `paperless.deinedomain.tld` |
|
||||||
|
| **Scheme** | `http` |
|
||||||
|
| **Forward Hostname / IP** | `<IP-des-Paperless-Containers>` |
|
||||||
|
| **Forward Port** | `8000` |
|
||||||
|
| **Block Common Exploits** | aktivieren |
|
||||||
|
| **Websockets Support** | aktivieren |
|
||||||
|
|
||||||
|
Wechsle danach in den Reiter **SSL** und aktiviere:
|
||||||
|
|
||||||
|
- **Request a new SSL Certificate**
|
||||||
|
- **Force SSL**
|
||||||
|
- **HTTP/2 Support**
|
||||||
|
- **HSTS Enabled**
|
||||||
|
|
||||||
|
Speichere mit **Save**.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Der Proxy Manager erstellt automatisch ein gültiges Let’s-Encrypt-Zertifikat.
|
||||||
|
> Ab sofort ist Paperless-ngx verschlüsselt über HTTPS erreichbar.
|
||||||
|
|
||||||
|
#### Verbindung testen
|
||||||
|
|
||||||
|
Öffne im Browser:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://paperless.deinedomain.tld
|
||||||
|
```
|
||||||
|
|
||||||
|
Wenn die Anmeldemaske erscheint und der Browser ein **Schloss-Symbol** anzeigt, funktioniert die Integration.
|
||||||
|
Melde dich mit den zuvor erstellten Zugangsdaten an.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Sollte die Seite nicht laden, überprüfe im NPM-Dashboard IP-Adresse und Port (8000).
|
||||||
|
> Ein Neustart des Dienstes hilft häufig:
|
||||||
|
> ```bash
|
||||||
|
> systemctl restart paperless
|
||||||
|
> ```
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Browserfenster mit Paperless-Login unter `https://paperless.deinedomain.tld` (Schloss-Symbol sichtbar)
|
||||||
|
|
||||||
|
### Schritt 9 – Oberfläche und Grundfunktionen verstehen
|
||||||
|
|
||||||
|
Nach erfolgreicher Anmeldung öffnet sich das Dashboard von Paperless-ngx.
|
||||||
|
Es zeigt eine übersichtliche Startseite mit deinen Dokumenten, Tags, Korrespondenzpartnern und Filterfunktionen.
|
||||||
|
Alle Elemente sind klar strukturiert und intuitiv bedienbar.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Browseransicht mit Paperless-Dashboard (leere Dokumentenliste und Menüleiste sichtbar)
|
||||||
|
|
||||||
|
#### Hauptbereiche der Weboberfläche
|
||||||
|
|
||||||
|
| Bereich | Beschreibung |
|
||||||
|
|----------|--------------|
|
||||||
|
| **Dokumente** | Übersicht aller hochgeladenen und erkannten Dateien. Hier findest du deine Scans, Rechnungen und PDFs. |
|
||||||
|
| **Tags** | Stichwörter zur thematischen Zuordnung (z. B. „Rechnung“, „Steuer“, „Vertrag“). |
|
||||||
|
| **Korrespondenzpartner** | Automatisch erkannte oder manuell erstellte Absender, nützlich für Sortierung und Suche. |
|
||||||
|
| **Korrespondentenregeln** | Automatisierte Zuordnung neuer Dokumente zu bestimmten Partnern oder Tags. |
|
||||||
|
| **Aufgaben / Warteschlangen** | Zeigt laufende OCR-Prozesse, Uploads und Indexierungen an. |
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Paperless-ngx aktualisiert die Oberfläche automatisch, sobald ein neuer Upload abgeschlossen ist.
|
||||||
|
> Es ist kein manuelles Neuladen notwendig.
|
||||||
|
|
||||||
|
#### Upload und OCR
|
||||||
|
|
||||||
|
Dokumente können auf verschiedene Arten hinzugefügt werden:
|
||||||
|
- Direkt über den **Upload-Button** in der Weboberfläche.
|
||||||
|
- Automatisch über das **Consumption-Verzeichnis** (`/opt/paperless/consume`).
|
||||||
|
Jede dort abgelegte Datei wird automatisch erkannt, gelesen und ins Archiv übernommen.
|
||||||
|
|
||||||
|
Nach dem Upload durchläuft jedes Dokument den OCR-Prozess (Texterkennung).
|
||||||
|
Das dauert je nach Länge und Qualität des Dokuments wenige Sekunden bis Minuten.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Für optimale Ergebnisse sollten Dokumente in **klarer, gut lesbarer Qualität (300 dpi)** vorliegen.
|
||||||
|
> Unscharfe oder stark komprimierte Scans können die Erkennung deutlich verlangsamen.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Upload-Dialog mit aktivem Fortschrittsbalken und anschließendem Dokumenteintrag in der Liste
|
||||||
|
|
||||||
|
### Schritt 10 – Ordnerstruktur und Dokumentenfluss
|
||||||
|
|
||||||
|
Paperless-ngx arbeitet nach einem klaren Prinzip:
|
||||||
|
Dokumente durchlaufen **drei feste Stationen** – vom Eingang bis zur archivierten, verschlagworteten Datei.
|
||||||
|
|
||||||
|
1. **Eingang (Consumption)**
|
||||||
|
Hier landen alle neu hinzugefügten Dokumente – manuell oder automatisch.
|
||||||
|
Paperless überwacht dieses Verzeichnis kontinuierlich und importiert neue Dateien selbstständig.
|
||||||
|
|
||||||
|
2. **Verarbeitung (OCR & Indexierung)**
|
||||||
|
Die OCR-Engine liest jedes Dokument, extrahiert Textinhalte und erkennt Datum, Absender und Schlüsselwörter.
|
||||||
|
Anschließend wird das Dokument in der internen Datenbank indexiert.
|
||||||
|
|
||||||
|
3. **Archiv (Media Root)**
|
||||||
|
Nach erfolgreicher Verarbeitung landet die optimierte, durchsuchbare Version im Archivordner.
|
||||||
|
Sie steht dann dauerhaft über die Weboberfläche zur Verfügung und kann mit Tags, Partnern und Notizen versehen werden.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Paperless-ngx speichert die Originaldatei und die verarbeitete Version getrennt.
|
||||||
|
> So bleibt das Original unverändert erhalten – ein wichtiger Punkt für Nachvollziehbarkeit und rechtssichere Ablage.
|
||||||
|
|
||||||
|
#### Beispielhafter Pfadaufbau
|
||||||
|
|
||||||
|
```
|
||||||
|
/opt/paperless/
|
||||||
|
├── consume/ # Eingang (automatische Überwachung)
|
||||||
|
├── data/ # interne Datenbank, Konfiguration
|
||||||
|
├── media/ # archivierte und OCR-verarbeitete Dokumente
|
||||||
|
└── export/ # manuelle oder geplante Exporte
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Wenn du Dokumente automatisiert in Paperless-ngx importieren möchtest (z. B. aus Nextcloud oder E-Mail-Anhängen),
|
||||||
|
> kannst du später n8n oder Cronjobs nutzen, um Dateien direkt ins `consume`-Verzeichnis zu kopieren.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Dateimanageransicht der Ordnerstruktur unter `/opt/paperless` mit markierten Hauptverzeichnissen
|
||||||
|
|
||||||
|
### Schritt 11 – Benutzerverwaltung und Zugriffsrechte
|
||||||
|
|
||||||
|
Paperless-ngx unterstützt mehrere Benutzerkonten, ideal wenn du das UCC gemeinsam nutzt oder getrennte Bereiche für Streaming, Verwaltung und Privatdokumente anlegen willst.
|
||||||
|
|
||||||
|
#### Benutzer anlegen
|
||||||
|
|
||||||
|
Melde dich als Administrator in der Weboberfläche an und öffne oben rechts das **Benutzermenü → Administration**.
|
||||||
|
Wähle dort **Users** und klicke auf **Add User**.
|
||||||
|
|
||||||
|
Trage die gewünschten Daten ein:
|
||||||
|
- **Username:** Kurzname des Benutzers
|
||||||
|
- **Password:** sicheres Kennwort
|
||||||
|
- **Staff status:** aktivieren, falls der Benutzer Zugriff auf die Administrationsoberfläche haben soll
|
||||||
|
- **Superuser status:** nur aktivieren, wenn volle Rechte benötigt werden
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Normale Benutzer können Dokumente hochladen, Tags anlegen und suchen.
|
||||||
|
> Nur Superuser dürfen Systemeinstellungen, OCR-Optionen und API-Schlüssel verwalten.
|
||||||
|
|
||||||
|
#### Gruppen und Berechtigungen
|
||||||
|
|
||||||
|
Über den Menüpunkt **Groups** lassen sich gemeinsame Rechte definieren.
|
||||||
|
Das ist nützlich, wenn du z. B. mehrere Benutzer mit identischem Zugriff auf bestimmte Dokumentensammlungen brauchst.
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
- Gruppe **Finanzen** → Zugriff auf alle Dokumente mit Tag „Rechnung“
|
||||||
|
- Gruppe **Streaming** → Zugriff auf Produktionsunterlagen und Verträge
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Gruppenrechte können jederzeit erweitert oder eingeschränkt werden, ohne einzelne Benutzerkonten anzupassen.
|
||||||
|
> So bleibt dein UCC auch bei wachsenden Teams übersichtlich und sicher.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Paperless-Adminbereich mit geöffneter Benutzerliste und markiertem Button „Add User“
|
||||||
|
|
||||||
|
### Schritt 12 – Such- und Filterfunktionen nutzen
|
||||||
|
|
||||||
|
Sobald erste Dokumente importiert und verarbeitet sind, kannst du die Suchfunktion von Paperless-ngx einsetzen.
|
||||||
|
Sie basiert auf einem Volltextindex und ist extrem schnell – ideal, um Rechnungen, Verträge oder Seriennummern in Sekunden zu finden.
|
||||||
|
|
||||||
|
#### Freitextsuche
|
||||||
|
|
||||||
|
Oben im Dashboard findest du das zentrale Suchfeld.
|
||||||
|
Hier kannst du Begriffe, Namen, Datumsangaben oder Schlagwörter eingeben.
|
||||||
|
Paperless durchsucht automatisch den OCR-Text, Dateinamen, Tags und Notizen.
|
||||||
|
|
||||||
|
Beispiele:
|
||||||
|
```
|
||||||
|
Stromrechnung
|
||||||
|
Vertrag 2023
|
||||||
|
Amazon
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Die Suche ist **nicht case-sensitive** und erkennt auch Wortfragmente.
|
||||||
|
> Eine Eingabe wie „rechn“ findet z. B. alle Dokumente mit dem Wort „Rechnung“.
|
||||||
|
|
||||||
|
#### Filterleiste
|
||||||
|
|
||||||
|
Links im Dashboard steht eine Filterleiste für gezieltere Abfragen.
|
||||||
|
Hier kannst du kombinieren nach:
|
||||||
|
- Tag (z. B. „Steuer“, „Privat“, „Versicherung“)
|
||||||
|
- Korrespondenzpartner
|
||||||
|
- Datum (Upload oder Dokumentendatum)
|
||||||
|
- Dateityp
|
||||||
|
|
||||||
|
Mehrere Filter lassen sich beliebig kombinieren.
|
||||||
|
So kannst du z. B. alle Dokumente von *Telekom* aus dem Jahr *2024* anzeigen lassen.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Wenn du regelmäßig dieselben Filter nutzt, kannst du gespeicherte Ansichten anlegen.
|
||||||
|
> Diese erscheinen in der Seitenleiste und lassen sich mit einem Klick öffnen.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Browseransicht mit aktivem Filter (Tag + Jahr) und angezeigter Trefferliste
|
||||||
|
|
||||||
|
### Schritt 13 – Backups und Datensicherung
|
||||||
|
|
||||||
|
Damit deine Dokumente und Metadaten dauerhaft erhalten bleiben, solltest du regelmäßige Backups einplanen.
|
||||||
|
Paperless-ngx speichert alle wichtigen Daten lokal im Container – ideal für automatisierte Sicherungen über Kopia oder ein zentrales Backup-System.
|
||||||
|
|
||||||
|
#### Relevante Pfade
|
||||||
|
|
||||||
|
| Pfad | Inhalt | Sicherung notwendig |
|
||||||
|
|------|---------|--------------------|
|
||||||
|
| `/opt/paperless/data/` | Datenbank und Konfiguration | ✅ |
|
||||||
|
| `/opt/paperless/media/` | OCR-verarbeitete Dokumente | ✅ |
|
||||||
|
| `/opt/paperless/export/` | optionale Exporte | optional |
|
||||||
|
| `/opt/paperless/.env` | Umgebungsvariablen (wichtige Schlüssel) | ✅ |
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Das Verzeichnis `/opt/paperless/consume` muss **nicht** gesichert werden.
|
||||||
|
> Es dient nur als temporärer Eingang und wird automatisch geleert, sobald Dokumente verarbeitet sind.
|
||||||
|
|
||||||
|
#### Beispiel-Backup mit tar
|
||||||
|
|
||||||
|
```bash
|
||||||
|
tar -czf /srv/backup/paperless-$(date +%F).tar.gz /opt/paperless/data /opt/paperless/media /opt/paperless/.env
|
||||||
|
```
|
||||||
|
|
||||||
|
Dieser Befehl erstellt ein komprimiertes Backup mit Datumsangabe.
|
||||||
|
Die Datei kann anschließend automatisiert in Kopia, Nextcloud oder ein externes NAS übertragen werden.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Im UCC bietet sich an, das Paperless-Backup direkt in den zentralen Kopia-Container einzubinden.
|
||||||
|
> So läuft die Sicherung zusammen mit Nextcloud und Vaultwarden nach demselben Plan.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminalausgabe nach erfolgreicher Archiv-Erstellung (`paperless-YYYY-MM-DD.tar.gz` sichtbar)
|
||||||
|
|
||||||
|
### Schritt 14 – Systemprüfung und Wartung
|
||||||
|
|
||||||
|
Nach der vollständigen Einrichtung sollte das System einmal überprüft werden, um sicherzustellen, dass alle Komponenten korrekt laufen und dauerhaft stabil bleiben.
|
||||||
|
|
||||||
|
#### Dienststatus prüfen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl status paperless
|
||||||
|
systemctl status redis-server
|
||||||
|
```
|
||||||
|
|
||||||
|
Beide Dienste sollten mit **active (running)** angezeigt werden.
|
||||||
|
Wenn einer davon nicht läuft, starte ihn neu:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
systemctl restart paperless
|
||||||
|
systemctl restart redis-server
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Redis ist essenziell für Hintergrundaufgaben und OCR-Verarbeitung.
|
||||||
|
> Läuft dieser Dienst nicht, werden keine neuen Dokumente erkannt oder verarbeitet.
|
||||||
|
|
||||||
|
#### Logdateien kontrollieren
|
||||||
|
|
||||||
|
Paperless legt seine Logdateien im Datenverzeichnis ab.
|
||||||
|
Eine schnelle Kontrolle auf Fehler ist mit folgendem Befehl möglich:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
tail -n 50 /opt/paperless/data/logs/paperless.log
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Fehlermeldungen zu „OCR timeout“ oder „Redis connection“ deuten auf zu geringe Systemressourcen oder Netzwerkprobleme hin.
|
||||||
|
> In diesem Fall hilft meist ein Neustart oder eine moderate Erhöhung der CPU-Zuteilung.
|
||||||
|
|
||||||
|
#### Updates durchführen
|
||||||
|
|
||||||
|
Aktualisiere Paperless-ngx regelmäßig, um Sicherheits- und Funktionsupdates einzuspielen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
su - paperless
|
||||||
|
cd /opt/paperless
|
||||||
|
source venv/bin/activate
|
||||||
|
pip install --upgrade paperless-ngx
|
||||||
|
systemctl restart paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminal mit Ausgabe von `pip install --upgrade paperless-ngx` (neue Version installiert)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Troubleshooting & Tipps
|
||||||
|
|
||||||
|
Auch wenn Paperless-ngx im Alltag stabil läuft, können während Installation oder Betrieb gelegentlich Fehler auftreten.
|
||||||
|
Die folgenden Punkte helfen, typische Probleme schnell einzugrenzen und zu beheben.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Übersicht im UCC-Dashboard mit markiertem Paperless-Container
|
||||||
|
|
||||||
|
### Problem: Weboberfläche nicht erreichbar
|
||||||
|
|
||||||
|
**Symptome:**
|
||||||
|
Die Seite `https://paperless.deinedomain.tld` lädt nicht oder zeigt einen Proxy-Fehler.
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. Prüfe, ob der Container aktiv ist:
|
||||||
|
```bash
|
||||||
|
pct status <CTID>
|
||||||
|
```
|
||||||
|
Wenn „stopped“ →
|
||||||
|
```bash
|
||||||
|
pct start <CTID>
|
||||||
|
```
|
||||||
|
2. Überprüfe den Dienststatus:
|
||||||
|
```bash
|
||||||
|
systemctl status paperless
|
||||||
|
```
|
||||||
|
Sollte „inactive“ oder „failed“ angezeigt werden, starte ihn neu:
|
||||||
|
```bash
|
||||||
|
systemctl restart paperless
|
||||||
|
```
|
||||||
|
3. Kontrolliere den Nginx Proxy Manager-Eintrag.
|
||||||
|
IP-Adresse, Port (8000) und SSL-Zertifikat müssen korrekt hinterlegt sein.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Nach Änderungen am Proxy-Host kann es bis zu einer Minute dauern, bis die SSL-Konfiguration aktiv wird.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** NPM-Dashboard mit aktivem Proxy-Host `paperless.deinedomain.tld`
|
||||||
|
|
||||||
|
### Problem: OCR-Verarbeitung startet nicht
|
||||||
|
|
||||||
|
**Symptome:**
|
||||||
|
Dokumente erscheinen im Dashboard, aber der Text wird nicht erkannt.
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. Prüfe, ob der Redis-Dienst läuft:
|
||||||
|
```bash
|
||||||
|
systemctl status redis-server
|
||||||
|
```
|
||||||
|
Falls nicht aktiv → starten:
|
||||||
|
```bash
|
||||||
|
systemctl restart redis-server
|
||||||
|
```
|
||||||
|
2. Stelle sicher, dass das OCR-Paket installiert ist:
|
||||||
|
```bash
|
||||||
|
apt install tesseract-ocr tesseract-ocr-deu -y
|
||||||
|
```
|
||||||
|
3. In der `.env`-Datei prüfen, ob `PAPERLESS_OCR_LANGUAGE=deu` gesetzt ist.
|
||||||
|
Änderungen übernehmen durch Neustart:
|
||||||
|
```bash
|
||||||
|
systemctl restart paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Bei sehr großen PDFs kann die Verarbeitung einige Minuten dauern.
|
||||||
|
> Währenddessen bleibt der Status auf „pending“.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Paperless-Taskliste mit sichtbarer OCR-Warteschlange
|
||||||
|
|
||||||
|
### Problem: Keine neuen Dokumente im Dashboard
|
||||||
|
|
||||||
|
**Symptome:**
|
||||||
|
Dateien werden in das `consume`-Verzeichnis kopiert, erscheinen aber nicht in der Weboberfläche.
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. Prüfe, ob das Verzeichnis korrekt angegeben und erreichbar ist:
|
||||||
|
```bash
|
||||||
|
grep CONSUMPTION_DIR /opt/paperless/.env
|
||||||
|
```
|
||||||
|
Der Pfad muss exakt auf `/opt/paperless/consume` zeigen.
|
||||||
|
2. Kontrolliere die Dateiberechtigungen:
|
||||||
|
```bash
|
||||||
|
ls -l /opt/paperless/consume
|
||||||
|
```
|
||||||
|
Eigentümer und Gruppe müssen **paperless** sein.
|
||||||
|
Falls nicht:
|
||||||
|
```bash
|
||||||
|
chown -R paperless:paperless /opt/paperless/consume
|
||||||
|
```
|
||||||
|
3. Prüfe das Log auf Importfehler:
|
||||||
|
```bash
|
||||||
|
tail -n 50 /opt/paperless/data/logs/paperless.log
|
||||||
|
```
|
||||||
|
Häufige Ursachen sind defekte PDF-Dateien oder fehlerhafte OCR-Einstellungen.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Wenn du Dokumente automatisiert über ein Skript einfügst, achte darauf, dass sie mit Schreibrechten für den Benutzer *paperless* kopiert werden.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminalansicht mit korrektem Eigentümer (`paperless`) für alle Dateien im `consume`-Ordner
|
||||||
|
|
||||||
|
|
||||||
|
### Problem: Speicherplatz läuft voll
|
||||||
|
|
||||||
|
**Symptome:**
|
||||||
|
OCR-Prozesse stoppen, der Container reagiert träge oder das Dashboard zeigt Fehler bei Uploads.
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. Speicherbelegung prüfen:
|
||||||
|
```bash
|
||||||
|
df -h
|
||||||
|
```
|
||||||
|
Wenn `/opt/paperless` zu mehr als 90 % belegt ist, alte oder doppelte Dateien prüfen.
|
||||||
|
2. Temporäre Caches löschen:
|
||||||
|
```bash
|
||||||
|
rm -rf /opt/paperless/data/cache/*
|
||||||
|
```
|
||||||
|
3. Falls regelmäßig große Dokumentenmengen anfallen, Storage vergrößern:
|
||||||
|
```bash
|
||||||
|
pct resize <CTID> rootfs +10G
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Paperless speichert Originale und OCR-Versionen separat.
|
||||||
|
> Wer Platz sparen möchte, kann die Originale nach erfolgreicher Verarbeitung in regelmäßigen Abständen exportieren und extern archivieren.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminalausgabe von `df -h` mit markiertem Paperless-LXC
|
||||||
|
|
||||||
|
### Problem: Login oder Passwort vergessen
|
||||||
|
|
||||||
|
**Symptome:**
|
||||||
|
Kein Zugriff mehr auf das Administrator-Konto in der Weboberfläche.
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. Anmelden im Container als Benutzer *paperless*:
|
||||||
|
```bash
|
||||||
|
su - paperless
|
||||||
|
cd /opt/paperless
|
||||||
|
source venv/bin/activate
|
||||||
|
```
|
||||||
|
2. Neues Passwort für den vorhandenen Benutzer setzen:
|
||||||
|
```bash
|
||||||
|
paperless-ngx changepassword <BENUTZERNAME>
|
||||||
|
```
|
||||||
|
oder bei verlorenem Benutzerkonto ein neues Superuser-Konto erstellen:
|
||||||
|
```bash
|
||||||
|
paperless-ngx createsuperuser
|
||||||
|
```
|
||||||
|
3. Anschließend den Dienst neu starten:
|
||||||
|
```bash
|
||||||
|
systemctl restart paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Wenn mehrere Administratoren aktiv sind, kann jeder Superuser Passwörter anderer Nutzer zurücksetzen.
|
||||||
|
> Bei Einzelbetrieb ist der Weg über `createsuperuser` der schnellste.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminalausgabe nach erfolgreichem Passwort-Reset (`Password changed successfully` sichtbar)
|
||||||
|
|
||||||
|
|
||||||
|
### Problem: Paperless startet nicht nach Update
|
||||||
|
|
||||||
|
**Symptome:**
|
||||||
|
Nach einem Upgrade bleibt der Dienst beim Start hängen oder bricht mit Fehlern ab.
|
||||||
|
|
||||||
|
**Lösungen:**
|
||||||
|
1. Logdateien prüfen:
|
||||||
|
```bash
|
||||||
|
journalctl -u paperless -n 50
|
||||||
|
```
|
||||||
|
oder
|
||||||
|
```bash
|
||||||
|
tail -n 50 /opt/paperless/data/logs/paperless.log
|
||||||
|
```
|
||||||
|
2. Wenn der Fehler auf Datenbankmigrationen hinweist:
|
||||||
|
```bash
|
||||||
|
su - paperless
|
||||||
|
cd /opt/paperless
|
||||||
|
source venv/bin/activate
|
||||||
|
paperless-ngx migrate
|
||||||
|
systemctl restart paperless
|
||||||
|
```
|
||||||
|
3. Bei Abhängigkeitskonflikten virtuelle Umgebung neu erstellen:
|
||||||
|
```bash
|
||||||
|
rm -rf /opt/paperless/venv
|
||||||
|
python3 -m venv /opt/paperless/venv
|
||||||
|
source /opt/paperless/venv/bin/activate
|
||||||
|
pip install --upgrade pip wheel
|
||||||
|
pip install paperless-ngx
|
||||||
|
systemctl restart paperless
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Nach größeren Versionssprüngen von Paperless-ngx sind Migrationen normal.
|
||||||
|
> Ein manueller Datenbankabgleich löst die meisten Startprobleme.
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Terminalausgabe mit erfolgreicher Migration und aktivem Dienststatus
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ergebnis
|
||||||
|
|
||||||
|
Nach Abschluss dieses Kapitels läuft Paperless-ngx als **vollständig integrierte Dokumentenverwaltung** im UCC.
|
||||||
|
Alle wichtigen Dokumente werden automatisch erkannt, indiziert und zentral abgelegt – unabhängig von externen Cloud-Diensten.
|
||||||
|
|
||||||
|
Dein aktuelles Setup umfasst:
|
||||||
|
|
||||||
|
- **Paperless-ngx-Container** – für Dokumentenmanagement, OCR und Weboberfläche
|
||||||
|
- **Redis-Server** – für Caching und Aufgabenverteilung
|
||||||
|
- **Nginx Proxy Manager** – für sichere HTTPS-Bereitstellung über `https://paperless.deinedomain.tld`
|
||||||
|
- **Automatische Struktur** für Eingang, Archiv und Export
|
||||||
|
- **Integration** in das bestehende Backup-System (z. B. Kopia)
|
||||||
|
|
||||||
|
👉 **Screenshot geeignet:** Paperless-Dashboard mit sichtbaren Dokumenteinträgen, Tag-Leiste und aktivem Suchfeld
|
||||||
|
|
||||||
|
Damit bietet dein UCC nun:
|
||||||
|
- eine durchsuchbare Ablage für Rechnungen, Verträge und Unterlagen,
|
||||||
|
- automatisierte Texterkennung (OCR) für PDF- und Bilddateien,
|
||||||
|
- Mehrbenutzerfähigkeit mit differenzierten Berechtigungen,
|
||||||
|
- und eine saubere Integration in das zentrale Kontrollsystem.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> Wer weitergehen möchte, kann im **Premium-Kapitel** lernen, wie Paperless-ngx mit
|
||||||
|
> **Nextcloud, n8n und automatisierten Importregeln** verbunden wird.
|
||||||
|
> Damit lassen sich Dokumente direkt aus Cloud-Uploads oder E-Mails einlesen,
|
||||||
|
> automatisch taggen und archivieren – ganz ohne manuelle Schritte.
|
||||||
|
|
||||||
|
Paperless-ngx erweitert das UCC um eine der wichtigsten Funktionen überhaupt:
|
||||||
|
**digitale Souveränität über alle eigenen Dokumente** – sicher, automatisiert und vollständig unter deiner Kontrolle.
|
||||||
Reference in New Issue
Block a user