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.

· 5 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.

Voraussetzungen

🍳 Empfehlung Anzeige

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.

Zu netcup →

💶 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:

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

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

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). Prüfe:

Terminal
docker compose ps
Ausgabe
NAME                      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.

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. 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.

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

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.

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 und docker 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

FreshRSS: der eigene RSS-Reader
Anwendungen Fortgeschritten

FreshRSS: der eigene RSS-Reader

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

· 5 Min. Lesezeit