Stirling-PDF: der PDF-Werkzeugkasten auf dem eigenen Server
PDFs zusammenführen, komprimieren, umwandeln, per OCR durchsuchbar machen – lokal statt bei Online-Diensten: Stirling-PDF hinter Traefik, mit Login.
Inhaltsverzeichnis
„PDF zusammenfügen online“, „PDF komprimieren kostenlos“ – für solche Aufgaben lädt man seine Dokumente sonst auf irgendeinen Webdienst hoch, oft mit vertraulichen Inhalten. Stirling-PDF macht dasselbe auf deinem eigenen Server: über 50 PDF-Werkzeuge, deine Dateien verlassen nie deine Kontrolle.
Was bauen wir?
Einen kompletten PDF-Werkzeugkasten mit Stirling-PDF v2.14.3 hinter Traefik, abgesichert mit Login. Am Ende führst du PDFs zusammen, komprimierst und drehst sie, wandelst zwischen Formaten um, machst gescannte Dokumente per OCR durchsuchbar, schwärzt Inhalte, fügst Passwörter oder Wasserzeichen hinzu – alles im Browser, alles lokal. Genau das richtige Werkzeug, um die Dokumente aus Paperless oder Nextcloud vorzubereiten.
Voraussetzungen
- Ein Server mit laufendem Traefik und Docker Compose
- Eine Subdomain, die auf den Server zeigt – im Folgenden
DEINE_DOMAIN
VPS 1000 G12
4 vCore · 8 GB RAM · 256 GB NVMe
ab 10,36 €/Monat
Stirling-PDF läuft gut auf einem kleinen VPS; nur OCR großer Dateien mag mehr RAM.
💶 5 € Gutschein für netcup-Neukunden:36nc17844976032
(nur Neukunden, keine Domains)
Schritt für Schritt
Schritt 1: Projekt und Compose-Datei
Stirling-PDF ist im Kern zustandslos – es verarbeitet Dateien und gibt sie zurück, ohne sie dauerhaft zu speichern. Nur Konfiguration und OCR-Sprachdaten liegen in Volumes. Lege das Projekt an:
mkdir -p /opt/stirling/data /opt/stirling/configs && cd /opt/stirlingDie compose.yaml – ersetze DEINE_DOMAIN:
services:
stirling-pdf:
image: stirlingtools/stirling-pdf:2.14.3
restart: unless-stopped
volumes:
- ./data:/usr/share/tessdata # OCR-Sprachdaten
- ./configs:/configs # Konfiguration
environment:
LANGS: 'de_DE' # UI-Sprache
networks: [proxy]
labels:
- "traefik.enable=true"
- "traefik.http.routers.stirling.rule=Host(`DEINE_DOMAIN`)"
- "traefik.http.routers.stirling.entrypoints=websecure"
- "traefik.http.routers.stirling.tls.certresolver=le"
- "traefik.http.services.stirling.loadbalancer.server.port=8080"
networks:
proxy:
external: trueSchritt 2: Starten und auf „healthy" warten
docker compose up -dDas Image bringt einen eigenen Healthcheck mit, und Traefik leitet erst auf den Container, wenn dieser healthy ist – das dauert nach dem Start etwa 20–30 Sekunden (die Java-Anwendung braucht einen Moment). Prüfe:
docker compose psNAME IMAGE STATUS
stirling-stirling-pdf-1 stirlingtools/stirling-pdf:2.14.3 Up (healthy)Schritt 3: Erster Login und Pflicht-Passwortwechsel
Öffne https://DEINE_DOMAIN/. Stirling-PDF v2 ist standardmäßig durch einen Login geschützt – ein wichtiger Unterschied zu vielen anderen Tools, das solltest du nicht deaktivieren, wenn der Dienst öffentlich erreichbar ist.

Melde dich mit den Standarddaten admin / stirling an. Beim ersten Login erzwingt Stirling-PDF sofort einen Passwortwechsel – gut so. Vergib ein starkes Passwort; danach musst du dich mit dem neuen Passwort erneut anmelden.
Standard-Zugangsdaten sofort ändern
admin/stirling sind öffentlich bekannt. Solange dieses Passwort gilt, ist dein Werkzeugkasten für jeden offen, der die Domain kennt. Der erzwungene Wechsel beim ersten Login ist Absicht – überspringe ihn nicht und wähle ein echtes Passwort.Schritt 4: Der Werkzeugkasten
Nach dem Login siehst du die Oberfläche: links deine Dateien, rechts der komplette Werkzeugkatalog, gruppiert in Kategorien wie Signierung, Dokumentensicherheit und Verifizierung.

Der Einstieg ist immer gleich: Eine PDF per Vom Computer hochladen laden (oder per Drag & Drop), dann das gewünschte Werkzeug rechts wählen. Die Datei erscheint im eingebauten Viewer:

Die nützlichsten Werkzeuge im Alltag:
- Zusammenführen / Aufteilen: mehrere PDFs zu einer vereinen oder Seiten heraustrennen.
- Komprimieren: die Dateigröße für den Mailversand reduzieren.
- Umwandeln: PDF ↔ Bild, Word/Office → PDF und zurück.
- OCR & Scans bereinigen: gescannte Dokumente durchsuchbar machen (dafür sind die
tessdata-Sprachdaten da). - Schwärzen: vertrauliche Stellen dauerhaft entfernen – nicht nur schwarz übermalen.
Schritt 5: OCR-Sprachen ergänzen (optional)
Für OCR auf Deutsch braucht Stirling-PDF die passenden Tesseract-Sprachdaten. Das offizielle Image bringt gängige Sprachen mit; fehlt eine, legst du die entsprechende .traineddata-Datei in den gemounteten data-Ordner (/usr/share/tessdata). Danach steht die Sprache im OCR-Werkzeug zur Auswahl.
Wenn es nicht funktioniert
Die Seite kommt nicht (Traefik-404), obwohl der Container läuft. Der Healthcheck ist noch nicht healthy – Traefik leitet dann bewusst nicht. Nach dem Start 20–30 Sekunden warten; Status mit docker inspect -f '{{.State.Health.Status}}' stirling-stirling-pdf-1 prüfen.
Login mit admin/stirling scheitert. Entweder wurde das Passwort schon geändert (dann das neue nutzen), oder die Konfiguration im configs-Volume ist inkonsistent. Zum Zurücksetzen die Anwendung stoppen und die Nutzerkonfiguration im configs-Ordner prüfen; im Zweifel den Ordner leeren (Achtung: setzt alle Einstellungen zurück).
OCR findet meine Sprache nicht. Die passende .traineddata fehlt im tessdata-Volume. Die Datei von den Tesseract-Sprachpaketen holen und in den data-Ordner legen (siehe Schritt 5).
Eine Umwandlung (z. B. Office → PDF) schlägt fehl. Solche Konvertierungen brauchen zusätzliche Werkzeuge (LibreOffice), die nur in den größeren Image-Varianten enthalten sind. Für den vollen Funktionsumfang die -fat-Variante des Images verwenden (stirlingtools/stirling-pdf:2.14.3-fat).
Große Dateien führen zu Fehlern oder langer Wartezeit. OCR und Konvertierung sind speicherintensiv. Auf einem kleinen VPS kann RAM knapp werden – dann entweder kleinere Dateien verarbeiten oder auf ein größeres Produkt wechseln.
Wartung & Backups
- Updates. Setze den Image-Tag (
stirlingtools/stirling-pdf:2.14.3) gelegentlich auf die aktuelle Version unddocker compose up -d. Stirling-PDF wird aktiv entwickelt und bekommt häufig neue Werkzeuge; ein Blick in die Release-Notes lohnt sich. Der Rest läuft über deinen normalen Update-Prozess. - Backup ist klein. Weil die Dateiverarbeitung zustandslos ist, musst du nur den
configs-Ordner (Login, Einstellungen) und ggf. eigene OCR-Sprachdaten sichern – am besten mit Restic. Die verarbeiteten PDFs speicherst du ohnehin selbst. - Sicherheit. Der Login ist die erste Verteidigungslinie – halte das Admin-Passwort stark und aktuell. Da hier potenziell vertrauliche Dokumente durchlaufen, ist der Betrieb hinter HTTPS (Traefik) und Login Pflicht; ein öffentlich erreichbares Stirling-PDF ohne Passwort wäre ein ernstes Datenleck.
Feedback per E-Mail: feedback@serverkueche.de
Das könnte dir auch schmecken

Syncthing: Dateien zwischen Geräten synchronisieren – ohne Cloud
Dateien direkt zwischen deinen Geräten abgleichen, verschlüsselt und ohne fremde Cloud: Syncthing als Peer-to-Peer-Sync …

FreshRSS: der eigene RSS-Reader
Alle Nachrichtenquellen an einem Ort, ohne Algorithmus und Tracking: FreshRSS als selbstgehosteter RSS-Reader hinter …

Homepage: das Dashboard für alle deine selbstgehosteten Dienste
Ein aufgeräumtes Start-Dashboard für deinen Server: Homepage verlinkt alle Dienste, zeigt Systemlast und live den …