
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





Leider klappt das Update nicht. Es läuft unter Proxmox im LXC
root@stirling-pdf:~# docker stop stirling-pdf
-bash: docker: command not found
root@stirling-pdf:~# stop stirling-pdf
-bash: stop: command not found
Also wenn bei dir Stirling-PDF unter docker läuft, muss bei dem Befehl docker auch was kommen.
Kann ich überhaupt nicht verstehen.
Wo ist denn docker bei dir installiert?
root@pdftools ~ # which docker
/usr/bin/docker
Ich habe es über proxmox-helper-scripts auf proxmox installiert.
Dann wirst du meine Anleitung nicht nutzen können.
Da wird kein docker installiert!
Zum updaten vielleicht einfach das install script nochmal laufen lassen.
Oder einfach in der Console “update'” eingeben, dann wird das Tool aktualisiert.
Leider nein, funktioniert bei mir nicht.
Weder auf der Console noch im Container gibt es keinen update Befehl.
wie kann ich metadaten vorgeben die immer gleich bleiben sollten