Proxmox mit Stirling-PDF im LXC Container

Stirling-PDF ist eine Webanwendung mit vielen kleinen nützlichen Tools um PDF Dateien zu bearbeiten und zu erstellen.
Die Verarbeitung der Daten geschieht lokal im Browser. Ideal für’s self-hosting.

Stirling-PDF bietet 2 verschiedene Versionen. Wer Platz sparen muss oder nicht alle Funktionen benötigt kann die Lite Versionen benutzen.

  • Full version
  • Ultra-Lite

mein Setup:

  • Proxmox 8.1
  • Alpine Linux Container mit Docker
  • Stirling-PDF 0.20.1 Full Version

Installation

Datenverzeichnisse anlegen.

mkdir -p /opt/stirling-pdf/trainingData
mkdir /opt/stirling-pdf/extraConfigs

Stirling-PDF starten. (läuft auf Port 80)

docker run -d \
  -p 80:8080 \
  -v /opt/stirling-pdf/trainingData:/usr/share/tesseract-ocr/5/tessdata \
  -v /opt/stirling-pdf/extraConfigs:/configs \
  -v /opt/stirling-pdf/logs:/logs \
  -e DOCKER_ENABLE_SECURITY=true \
  --name stirling-pdf \
  --restart always \
  frooodle/s-pdf:latest

Docker Status.

$ docker ps
CONTAINER ID   IMAGE                   COMMAND                  CREATED       STATUS          PORTS                                   NAMES
23d0d5ea8476   frooodle/s-pdf:latest   "/scripts/init.sh ja…"   2 hours ago   Up 37 minutes   0.0.0.0:80->8080/tcp, :::80->8080/tcp   stirling-pdf

OCR

Sprachpaket für die OCR Funktion hinzufügen. (wenn diese genutzt wird)

  • tessdata_fast Kleines Sprachpaket, lädt schneller, bietet eine geringere Erkennungsgenauigkeit.
  • tessdata Grosses Sprachpaket, lädt ggf. etwas langsamer, bietet eine bessere Erkennungsgenauigkeit.

Sprachpaket installieren. (ich nutze das full)

cd /opt/stirling-pdf/trainingData
wget https://github.com/tesseract-ocr/tessdata/raw/main/deu.traineddata         # full
wget https://github.com/tesseract-ocr/tessdata_fast/raw/main/deu.traineddata    # fast

Stirling-PDF Webinterface

Über die IP einfach im Webrowser aufrufen. Ab Version 0.24.0 mit neuem UI.

Konfiguration

In der /opt/stirling-pdf/extraConfigs/settings.yml können noch eigene Anpassungen gemacht werden.

Standardsprache auf Deutsch festlegen.

system:
  defaultLocale: 'de-DE'

Benutzeranmeldung aktivieren.

security:
  enableLogin: true

UI Anpassungen.

ui:
  appName: APP-NAME                     # Application's visible name
  homeDescription: HOME-DESCRIPTION     # Short description or tagline shown on homepage.
  appNameNavbar: APP-NAME-NAVBAR        # Name displayed on the navigation bar

Nicht benötigte Funktionen entfernen. (Liste der Funktionen)

endpoints:
  toRemove: ['cert-sign', 'sign', 'show-javascript', 'change-permissions', 'add-watermark']

Nach Änderungen immer den Container neu starten.

docker restart stirling-pdf

Benutzeranmeldung

Standarrdmäßig kann jeder die Anwendung nutzen. Möchte man den Zugriff einschränken, kann eine Anmeldung mit Benutzername und Passwort aktiviert werden.
Siehe Konfiguration → Benutzeranmeldung aktivieren (default Benutzer: admin mit Passwort: stirling)

UI Anpassungen

Name und Beschreibung der App können an eigene Bedürfnisse angepasst werden.
Siehe Konfiguration → UI Anpassungen

Update

Stirling-PDF updaten.

docker stop stirling-pdf
docker rm stirling-pdf
docker pull frooodle/s-pdf:latest

docker run -d \
-p 80:8080 \
-v /opt/stirling-pdf/trainingData:/usr/share/tesseract-ocr/5/tessdata \
-v /opt/stirling-pdf/extraConfigs:/configs \
-v /opt/stirling-pdf/logs:/logs \
-e DOCKER_ENABLE_SECURITY=true \
--name stirling-pdf \
--restart always \
frooodle/s-pdf:latest

Die alten Images sollten natürlich auch hin und wieder mal gelöscht werden.

docker images
REPOSITORY       TAG       IMAGE ID       CREATED       SIZE
frooodle/s-pdf   latest    cc1ee397d0db   9 days ago    1.4GB
frooodle/s-pdf   <none>    ad5c4fc295f9   3 weeks ago   1.75GB
frooodle/s-pdf   <none>    277bda521bca   4 weeks ago   1.75GB

docker rmi ad5c4fc295f9
docker rmi 277bda521bca

Schreibe einen Kommentar