
In diesem Artikel möchten wir euch zeigen, wie ihr die PDF-Konvertierung (Gotenberg) und die Dokumentenanalyse (Apache Tika ) für paperless einrichten könnt.
Insbesondere für diejenigen, die paperless als Bare-Metal-Variante (ohne Docker) installiert haben.
Bei einer Installation mittels Docker, können hier die Pakete, falls nicht vorhanden, so nachträglich hinzugefügt werden.
Für alle anderen gilt dieser Weg:
Zuerst wird das System aktualisiert und die notwendigen Pakete installiert.
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl wget
Docker installieren
# GPG-Schlüssel für Docker hinzufügen
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Docker-Repository einfügen
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Paketlisten aktualisieren und Docker installieren
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
Paperless Konfiguration anpassen
Damit Paperless Gotenberg und Tika nutzen kann, müssen die Konfigurationswerte in /opt/paperless/paperless.conf gesetzt werden.
Also mittels nano /opt/paperless/paperless.conf
die Tika und Gotenberg-Variablen anpassen:
PAPERLESS_TIKA_ENABLED=true
PAPERLESS_TIKA_ENDPOINT=http://0.0.0.0:9998
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://0.0.0.0:3000
Zusätzlich muss die paperless-consumer-Systemd-Unit angepasst werden:
nano /etc/systemd/system/paperless-consumer.service:
EnvironmentFile=/opt/paperless/paperless.conf
Bevor die systemd-Dienste eingerichtet werden, können die Container getestet werden:
docker run --restart=always -p 3000:3000 -d --name gotenberg gotenberg/gotenberg:latest gotenberg --chromium-disable-javascript=true --chromium-allow-list="file:///tmp/.*"
docker run --restart=always -p 9998:9998 -d --name tika apache/tika:latest
Falls alles läuft, können die Container gestoppt und die systemd-Dienste eingerichtet werden.
docker stop gotenberg tika
docker rm gotenberg tika
Damit Gotenberg und Tika automatisch mit dem System starten, werden wir einen systemd-Dienst erstellen.
nano /etc/systemd/system/gotenberg.service:
[Unit]
Description=Gotenberg PDF-Konvertierungsdienst
After=network.target
[Service]
ExecStart=/usr/bin/docker run --rm --name gotenberg -p 3000:3000 gotenberg/gotenberg:latest gotenberg --chromium-disable-javascript=true --chromium-allow-list="file:///tmp/.*"
Restart=always
[Install]
WantedBy=multi-user.target
EOF
nano /etc/systemd/system/tika.service:
[Unit]
Description=Tika Dokumentenanalyse-Dienst
After=network.target
[Service]
ExecStart=/usr/bin/docker run --rm --name tika -p 9998:9998 apache/tika:latest
Restart=always
[Install]
WantedBy=multi-user.target
EOF
Dienste aktivieren und starten
sudo systemctl daemon-reload
sudo systemctl enable gotenberg tika paperless-consumer
sudo systemctl start gotenberg tika paperless-consumer
Den Status der Dienste prüfen:
systemctl status gotenberg tika paperless-consumer --no-pager
Nach diesen Schritten sind Gotenberg und Tika als Docker-Container eingerichtet und werden automatisch von systemd verwaltet. Paperless kann nun neben PDFs auch andere Dateien (xlsx, docx, etc..) mit Gotenberg konvertieren und mit Tika analysieren.
Wer möchte, der kann sich auch diesen ganzen Weg als fertiges Script herunterladen und ausführen.
wget https://ktamazons3.s3.eu-central-1.amazonaws.com/shys/gotenberg_tika_paperless.sh
chmod +x gotenberg_tika_paperless.sh
./gotenberg_tika_paperless.sh