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