Zum Inhalt springen
Serverküche
Suche

Die Suche wird geladen … (nur in der veröffentlichten Seite verfügbar).

Anwendungen Schwierigkeit: Fortgeschritten

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.

· 9 Min. Lesezeit ·Dauer: ca. 40 Minuten
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.

Das Standard-Image bringt alles mit, was die Werkzeuge brauchen: LibreOffice für Office-Konvertierungen, Tesseract 5.3.4 für OCR samt fünf Sprachpaketen, qpdf für Reparaturen und Calibre für E-Book-Formate. Dafür ist es mit 3,4 GB kein Leichtgewicht – plane den Platz auf der Systemplatte ein.

Voraussetzungen

🍳 Empfehlung Anzeige

VPS 1000 G12.5

4 vCore · 8 GB RAM · 128 GB SSD

ab 14,50 €/Monat

Stirling-PDF läuft gut auf einem kleinen VPS; nur OCR großer Dateien mag mehr RAM.

Zu netcup →

💶 1 Monat gratis:

Einmal einlösbar, gilt für VPS 1000 G12.5. Im Warenkorb einlösen →

💶 5,95 € Gutschein für netcup-Neukunden: immer gültig · nicht für Domains und VPS Lite

Alle netcup-Gutscheine →

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:

Terminal
mkdir -p /opt/stirling/data /opt/stirling/configs && cd /opt/stirling

Die beiden Ordner werden gleich als Bind Mounts eingehängt: configs hält Benutzerkonten und Einstellungen, data ist der Ablageort für zusätzliche OCR-Sprachen.

Die compose.yaml – ersetze DEINE_DOMAIN:

YAML
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: true

Der Container veröffentlicht keinen Port nach außen – Traefik erreicht ihn über das gemeinsame proxy-Netz auf Port 8080. So ist der Dienst ausschließlich über HTTPS erreichbar.

Welche Image-Variante?

Es gibt drei Tags: 2.14.3 (Standard, 3,4 GB), 2.14.3-ultra-lite (917 MB) und 2.14.3-fat. Die Ultra-Lite-Variante spart Platz, indem sie LibreOffice und Tesseract weglässt – damit fallen Office-Konvertierungen und OCR weg. Für den vollen Funktionsumfang dieses Tutorials ist das Standard-Image richtig; -fat brauchst du dafür nicht.

Schritt 2: Starten und auf „healthy" warten

Terminal
docker compose up -d

Das 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. Solange antwortet die Domain mit einem Traefik-404, danach springt sie auf die Anmeldeseite um. Das ist kein Fehler, sondern genau die Absicht: ein halb gestarteter Dienst geht nicht ins Netz.

Prüfe den Status:

Terminal
docker compose ps --format "table {{.Name}}\t{{.Image}}\t{{.Status}}"
Ausgabe
NAME                      IMAGE                               STATUS
stirling-stirling-pdf-1   stirlingtools/stirling-pdf:2.14.3   Up 47 seconds (healthy)

Steht dort (health: starting), warte noch einen Moment. Erst wenn (healthy) erscheint, ist die Route live.

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.

Die Anmeldeseite von Stirling-PDF mit Feldern für Benutzername und Passwort
Der Login schützt den Werkzeugkasten – standardmäßig aktiv in Stirling-PDF v2

Melde dich mit den Standarddaten admin / stirling an. Danach kommen zwei Dialoge nacheinander, und der erste hat es für ein Datenschutz-Setup in sich: Stirling-PDF fragt, ob du Opt-in-Analytics aktivieren möchtest. Wenn du den Dienst gerade deshalb selbst hostest, damit nichts nach außen fließt, ist hier Nein die passende Antwort – die Telemetrie bleibt dann aus.

Direkt danach erzwingt Stirling-PDF den Passwortwechsel. Das Formular verlangt mindestens 8 Zeichen und eine Bestätigung:

Der Dialog „Set Your Password" mit Feldern für neues Passwort und Bestätigung
Nach dem ersten Login erzwingt Stirling-PDF einen Passwortwechsel – überspringen geht nicht

Nach dem Speichern wirst du abgemeldet und landest wieder auf der Anmeldeseite. Das ist normal: Melde dich erneut an, diesmal mit dem neuen Passwort.

Standard-Zugangsdaten sofort ändern

admin/stirling sind öffentlich bekannt und stehen sogar als Hinweis auf der Anmeldeseite. Solange dieses Passwort gilt, ist dein Werkzeugkasten für jeden offen, der die Domain kennt. Der erzwungene Wechsel beim ersten Login ist Absicht – wähle ein echtes, langes Passwort aus deinem Passwortmanager.

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.

Die Stirling-PDF-Oberfläche mit Upload-Bereich in der Mitte und dem Werkzeugkatalog rechts
Über 50 Werkzeuge, gruppiert nach Aufgabe – Zusammenführen, Komprimieren, Umwandeln, OCR und mehr

Beim ersten Öffnen blendet die Anwendung noch ein „Willkommen bei Stirling V2"-Fenster ein; schließe es mit dem X oben rechts.

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:

Eine geladene PDF im Stirling-PDF-Viewer mit Seitennavigation und dem Werkzeugkatalog daneben
Eine geladene PDF im Viewer – rechts wählst du das Werkzeug, das darauf angewendet wird

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.

Jedes Werkzeug arbeitet auf den Dateien, die links ausgewählt sind – das Ergebnis ersetzt die Auswahl im Arbeitsbereich, bis du es herunterlädst.

Schritt 5: Zwei PDFs zusammenführen

Der häufigste Handgriff im Alltag, einmal komplett durchgespielt: Lade beide PDFs in einem Rutsch hoch – die Dateiliste links zeigt sie mit Datum und Seitenzahl, etwa a.pdf · 1 Page. Wähle rechts Zusammenführen. Das Panel führt durch drei Stufen:

  1. Dateien – hier steht, wie viele Dokumente ausgewählt sind.
  2. Sort Files – „Dateien werden in der Reihenfolge zusammengeführt, in der sie ausgewählt wurden. Ziehen Sie zum Neuordnen oder sortieren Sie unten." Die Reihenfolge ist also nicht zufällig, sondern deine Auswahlreihenfolge; per Drag & Drop oder über Sortieren nach änderst du sie.
  3. Settings – zwei Schalter: digitale Signatur im Ergebnis entfernen und ein Inhaltsverzeichnis erzeugen.

Ein Klick auf Zusammenführen (2 Dateien) erzeugt eine neue Datei mit dem Präfix merged_, etwa merged_a.pdf mit beiden Seiten in der erwarteten Reihenfolge. Unter Überprüfen liegen Rückgängig und Herunterladen – und darunter bietet Stirling-PDF direkt die nächsten sinnvollen Werkzeuge an (Compress, Convert, Sanitize, Split, OCR), damit du das Ergebnis weiterverarbeiten kannst, ohne es zwischendurch herunterzuladen.

Teils englische Beschriftungen

Auch bei LANGS: 'de_DE' sind einzelne Bedienelemente noch englisch beschriftet („Sort Files", „Settings", „Advanced"). Das ist kein Konfigurationsfehler, sondern schlicht der Stand der Übersetzung in v2.14.3.

Schritt 6: OCR an einem echten Scan

OCR ist das Werkzeug, für das sich der eigene Server am meisten lohnt: Ein Scan mit Rechnungs- oder Vertragsdaten hat auf einem fremden Webdienst nichts verloren. Der Ablauf hat vier Stufen, die die Oberfläche rechts durchnummeriert.

Lade eine gescannte PDF hoch (ein reines Bild ohne Textebene) und wähle rechts OCR & Scans bereinigen. Unter Einstellungen stehen zwei Dinge zur Wahl:

  • OCR-Modus: „Auto" überspringt Seiten, die schon Text enthalten, „Erzwingen" erfasst alles neu und ersetzt den vorhandenen Text, „Strikt" bricht ab, sobald auswählbarer Text gefunden wird. Für einen echten Scan ist „Auto" richtig.
  • Sprachen: die erwarteten Dokumentsprachen – mehrere sind erlaubt, das verbessert die Trefferquote.

Ein Klick auf OCR verarbeiten und überprüfen startet den Lauf. Eine einseitige A4-Rechnung ist nach rund 3 Sekunden fertig; unter Punkt 4 liegt das Ergebnis zum Prüfen und Herunterladen bereit:

Die OCR-Ergebnisansicht von Stirling-PDF mit Vorschau, Größe und Download-Schaltfläche
Nach dem OCR-Lauf liegt die durchsuchbare Datei unter Überprüfen – mit Rückgängig und Download

Die Datei wächst dabei nur wenig (etwa von 42 auf 49 KB), denn OCR legt eine unsichtbare Textebene hinter das Bild. Das Aussehen des Scans bleibt also unverändert, aber Suchen, Markieren und Kopieren funktionieren – und Werkzeuge wie Paperless finden den Inhalt anschließend im Volltext.

Ergebnis gegenprüfen

Ob die Textebene wirklich drin ist, siehst du am schnellsten im Browser: Datei öffnen, mit Strg+F nach einem Wort aus dem Scan suchen. Wird es gefunden, hat OCR sauber gearbeitet.

Schritt 7: OCR-Sprachen ergänzen

Das Standard-Image bringt fünf Sprachen mit, die sofort im OCR-Werkzeug auswählbar sind: Deutsch, Englisch, Französisch, Portugiesisch und Chinesisch. Brauchst du eine weitere, legst du die passende .traineddata-Datei in den gemounteten data-Ordner. Für Spanisch zum Beispiel:

Terminal
cd /opt/stirling/data
curl -fsSL -O https://github.com/tesseract-ocr/tessdata_fast/raw/main/spa.traineddata

Die Sprachdateien stammen aus dem offiziellen Tesseract-Repository; tessdata_fast ist die schnelle Variante und für Scans völlig ausreichend (gut 2 MB je Sprache). Danach die Anwendung neu starten, damit sie das Verzeichnis neu einliest:

Terminal
cd /opt/stirling && docker compose restart

Nach dem Neustart steht die Sprache in der Auswahlliste des OCR-Werkzeugs – „Spanisch" taucht dann direkt unter den mitgelieferten Sprachen auf.

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. Erst wenn dort healthy steht, antwortet die Domain.

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, danach gelten wieder die Standarddaten).

Nach dem Passwortwechsel bin ich plötzlich abgemeldet. Das ist kein Fehler: Stirling-PDF verwirft die Sitzung, sobald das Passwort neu gesetzt wurde. Einfach mit Benutzername admin und dem neuen Passwort erneut anmelden.

Eine neu hinzugefügte OCR-Sprache erscheint nicht. Die Anwendung liest /usr/share/tessdata beim Start ein. Nach dem Kopieren der .traineddata also docker compose restart ausführen – und prüfen, dass die Datei wirklich im gemounteten data-Ordner liegt und auf .traineddata endet.

Office-Konvertierungen oder OCR fehlen komplett. Dann läuft die -ultra-lite-Variante des Images: Ihr fehlen LibreOffice und Tesseract, entsprechend sind die Werkzeuge ohne Funktion. Auf den Standard-Tag (stirlingtools/stirling-pdf:2.14.3) wechseln und docker compose up -d – der Preis dafür sind rund 2,5 GB mehr Image.

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.

Dein Problem ist nicht dabei? Alle Fehlermeldungen durchsuchen →

Wartung & Backups

  • Updates. Setze den Image-Tag (stirlingtools/stirling-pdf:2.14.3) gelegentlich auf die aktuelle Version und docker compose up -d. Stirling-PDF wird aktiv entwickelt und bekommt häufig neue Werkzeuge; ein Blick in die Release-Notes lohnt sich. Weil das Image groß ist, räumst du nach dem Update mit docker image prune die alte Schicht weg. 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.
  • Ressourcen im Blick behalten. Der Container belegt rund 1 GB RAM im Ruhezustand; ein OCR- oder Konvertierungslauf kommt kurzzeitig obendrauf. Läuft auf demselben Server noch eine schwere Anwendung, lohnt ein Speicherlimit in der Compose-Datei.
  • 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. Wer den Werkzeugkasten nur selbst nutzt, legt am besten eine zweite Hürde davor: eine Traefik-Middleware mit Basic-Auth oder IP-Beschränkung oder gleich den Betrieb nur im VPN.

Zuletzt aktualisiert: 21.09.2026

Feedback per E-Mail: feedback@serverkueche.de

Das könnte dir auch schmecken