Blog / Tutorials / Was ist BentoPDF? Ein selbst gehostetes PDF-Toolkit für mehr Datenschutz
(last updated: )

Was ist BentoPDF? Ein selbst gehostetes PDF-Toolkit für mehr Datenschutz

Mit BentoPDF betreibst du ein privates, selbst gehostetes PDF-Toolkit auf deinem eigenen Contabo VPS. Erfahre, wie die clientseitige Architektur funktioniert, wie du es mit Docker bereitstellst und welche VPS-Größe passt.

8 Min. Lesezeit

Kurz gesagt. BentoPDF ist ein selbst gehostetes PDF-Toolkit, das komplett im Browser läuft: Zusammenführen, Teilen, Signieren und Konvertieren passieren auf deinem eigenen Gerät, nicht auf dem Server eines Anbieters. Der selbst gehostete Build läuft als ein einzelner Docker-Container mit über 100 integrierten Tools, sodass ein kleiner Contabo VPS reicht, um eine private Instanz für ein Team zu betreiben, ohne dass eine einzige PDF-Datei deine Infrastruktur verlässt.

Wenn du schon einmal gezögert hast, bevor du einen Vertrag, eine Gehaltsabrechnung oder eine unterschriebene NDA in einen kostenlosen Online-PDF-Konverter geladen hast, ist genau dieses Zögern der Grund, warum es BentoPDF gibt. Es ist ein Open-Source-PDF-Toolkit, das so gebaut ist, dass die Verarbeitung nie den Browser-Tab verlässt, in dem es läuft, und es lässt sich selbst hosten, sodass du es hinter deine eigene Domain stellen kannst, statt der Domain eines fremden Anbieters zu vertrauen. Für ein Rechtsteam, eine HR-Abteilung oder alle, die beruflich mit den Dokumenten anderer Leute arbeiten, ist genau dieser Unterschied zwischen „im Browser verarbeitet“ und „zu einem Anbieter hochgeladen“ der Grund, sich das statt einer generischen Konverter-Seite anzusehen.

BentoPDF website at https://www.bentopdf.com

Warum BentoPDF alles im Browser verarbeitet

BentoPDF läuft auf clientseitigem JavaScript und WebAssembly. Wenn du zwei PDFs zusammenführst oder Metadaten aus einem Scan entfernst, passiert die Arbeit in der Sandbox deines eigenen Browsers, mit Bibliotheken wie PDF.js für das Rendering und PDF-lib für die eigentliche Bearbeitung der Seiten. Nichts, was du hochlädst, wird zur Verarbeitung an einen Server gesendet, es gibt also weder eine serverseitige Warteschlange noch einen temporären Storage-Bucket, und keine Logzeile hält fest, dass die Datei jemals existiert hat.

Ein praktisches Beispiel: Öffnest du das Merge-Tool und ziehst drei PDFs hinein, löst das nie eine Netzwerkanfrage für den Dateiinhalt aus. Der Browser liest die Dateien von der Festplatte, fügt die Seiten im Arbeitsspeicher zusammen und liefert dir einen Download. Der einzige Netzwerkverkehr, den BentoPDF für die meisten Tools erzeugt, ist der einmalige Download seiner eigenen WebAssembly-Module von einem CDN, und Self-Hosting entfernt selbst diesen Schritt für das Grundpaket der Tools.

BentoPDF tool dashboard on a Contabo VPS

Das Toolkit deckt mehr als 100 Tools in sechs Kategorien ab: Seiten organisieren (zusammenführen, teilen, neu anordnen, extrahieren), Inhalte bearbeiten (kommentieren, schwärzen, Seitenzahlen hinzufügen, Wasserzeichen setzen), wiederkehrende Aufgaben automatisieren (Stapelverarbeitung, Workflows), in PDF konvertieren (aus Bildern, Office-Dokumenten, Markdown, EPUB), aus PDF konvertieren (in Bilder, Office-Formate und andere Ausgaben) sowie Dateien absichern oder optimieren (verschlüsseln, entschlüsseln, komprimieren, signieren).

Der selbst gehostete Build ist funktional identisch mit der öffentlichen Website: Jedes Tool ist vorhanden und verhält sich gleich, nur das Marketing-Drumherum fehlt. Sogar OCR folgt demselben Modell, denn die Sprachpakete von Tesseract laden genau wie die anderen Engines als WebAssembly, sodass eine gescannte Rechnung durchsuchbaren Text bekommt, ohne dass die Bilddaten irgendwohin gehen außer auf deinen eigenen Bildschirm.

Editing a PDF with a self-hosted BentoPDF instance

BentoPDF mit Docker auf einem VPS bereitstellen

Self-Hosting von BentoPDF bedeutet, das Docker-Image auf einem Server zu betreiben, den du kontrollierst, sodass die Tools unter deiner eigenen Domain laufen statt auf einer geteilten öffentlichen Seite. Das brauchst du zuerst:

  • Einen Contabo VPS mit Ubuntu 22.04 oder neuer, erreichbar per SSH
  • Docker und Docker Compose installiert (der Bestellprozess bei Contabo bietet ein Docker Add-On, das beides automatisch installiert, oder du richtest es selbst ein mit curl -fsSL https://get.docker.com | sh)
  • Port 3000, oder den Port deiner Wahl, offen in deiner Firewall

Das Projekt veröffentlicht zwei Image-Varianten. bentopdf-simple ist der selbst gehostete Build: jedes Tool, das die öffentliche Seite hat, nur ohne Marketing-Homepage, Hero-Bereich und Testimonials. bentopdf (ohne Suffix) ist der kommerzielle Build, gedacht für einen öffentlich zugänglichen Dienst unter deiner eigenen Marke. Für ein internes oder Team-Deployment ist der selbst gehostete Build die richtige Wahl.

Der schnellste Einstieg ist ein einziger Befehl:

docker run -d -p 3000:8080 --restart unless-stopped ghcr.io/alam00000/bentopdf-simple:latest

Für alles, was dauerhaft laufen soll, lässt sich eine Compose-Datei einfacher verwalten und neu starten:

services:
  bentopdf:
    image: ghcr.io/alam00000/bentopdf-simple:latest
    container_name: bentopdf
    ports:
      - '3000:8080'
    restart: unless-stopped

Führe docker compose up -d aus und öffne dann http://your-vps-ip:3000 im Browser. Der Container lauscht intern auf Port 8080 und läuft standardmäßig als Nicht-root-Nutzer, eine sinnvolle Voreinstellung für alles, was aus dem Internet erreichbar ist.

Bevorzugst du Podman statt Docker auf deiner Distribution? Jeder Befehl oben funktioniert unverändert, wenn du nur den Binärnamen tauschst: podman run -d -p 3000:8080 --restart unless-stopped ghcr.io/alam00000/bentopdf-simple:latest, und podman-compose up -d liest dieselbe Compose-Datei. Für eine Produktionsmaschine, die du langfristig laufen lassen willst, bindet Podman Quadlet den Container direkt in systemd ein, sodass er nach einem Reboot zusammen mit den restlichen Diensten neu startet, statt vom laufenden Docker-Daemon abhängig zu sein.

Ein Konfigurationsdetail ist wichtig, bevor du das vor ein Team stellst: Die Office-Konvertierungstools von BentoPDF (Word, Excel und PowerPoint zu PDF) nutzen einen zu WebAssembly kompilierten LibreOffice-Build, der SharedArrayBuffer braucht, und Browser gewähren das nur in einem sicheren, cross-origin-isolierten Kontext. http://localhost funktioniert für einen schnellen Test, aber ein einfaches http://your-vps-ip erweitert diesen Zugriff nicht mehr, sobald du über deine eigene Maschine hinausgehst. Stelle Nginx oder Caddy mit einem TLS-Zertifikat vor den Container, sobald es über einen lokalen Test hinausgeht, dann kommen die Isolations-Header, die der Browser braucht, gleich mit HTTPS mit.

Konfigurationstipps für ein Team-Deployment

Ein paar Build- und Laufzeit-Optionen lohnen sich, sobald der Basis-Container läuft:

  • Eigenes Branding. Setze VITE_BRAND_NAME, VITE_BRAND_LOGO und VITE_FOOTER_TEXT als Docker-Build-Argumente. Sie greifen nur, wenn du das Image aus dem Quellcode baust (docker build --build-arg ...), nicht beim Ausführen des fertigen ghcr.io-Images. Setze sie, um den BentoPDF-Namen und das Logo durch dein eigenes zu ersetzen, bevor du Kolleg:innen eine URL gibst.
  • Tools deaktivieren. Binde eine config.json mit einem disabledTools-Array ein, um bestimmte Tools wie digitales Signieren auszublenden, ohne das Image neu zu bauen. Nützlich, wenn eine Compliance-Vorgabe einschränkt, was eine geteilte interne Instanz zeigen darf.
  • Das Image aktualisieren. Da der selbst gehostete Build aus einer Registry gezogen wird statt aus dem Quellcode gebaut, holt docker compose pull && docker compose up -d neue Releases ohne manuellen Rebuild-Schritt.

Warum BentoPDF selbst hosten statt kostenlose Online-PDF-Tools nutzen

Auf der Serverseite gibt es nichts zu verwalten, außer den Container am Laufen zu halten. BentoPDF erledigt die eigentliche PDF-Arbeit im Browser des Besuchers, deshalb ist die Rolle des VPS von Contabo hier eng begrenzt: Er hostet den Docker-Container, kein Verarbeitungs-Backend. Es gibt keine Warteschlange zu überwachen, kein Storage-Volume, das sich mit fremden Dateien füllt, und nichts zu beantworten, wenn jemand fragt, wo hochgeladene Dokumente aufbewahrt werden, weil auf dem Server überhaupt keine aufbewahrt werden.

Diese enge Rolle ist trotzdem der ganze Punkt. Jede kostenlose Online-PDF-Seite stellt dieselbe stillschweigende Bitte: Lade deine Datei auf unseren Server hoch, damit wir sie verarbeiten können, und wir versprechen, sie danach zu löschen. Self-Hosting von BentoPDF nimmt diese Bitte ganz aus der Gleichung. Das Tool läuft unter einer URL, die du kontrollierst, auf einem VPS, den du kontrollierst, und das Einzige, was über das Netzwerk geht, ist die Seite selbst und die WebAssembly-Module, die sie einmal lädt.

Statement von der BentoPDF-Webseite

Für die Server-Größe reicht die Einstiegsstufe Core VPS für diese Last problemlos aus: Der Cloud VPS 4 bietet 4 vCPUs, 8 GB RAM und 100 GB SSD-Speicher für unter 6 € im Monat, mit unbegrenztem Traffic (im Rahmen einer Fair-Use-Regelung) und einem 200-Mbit/s-Port. Das ist mehr Rechenleistung, als ein statisch ausliefernder Container braucht, denn die eigentliche Arbeit macht der Browser, nicht der VPS.

Noch ein Hinweis zur Lizenz, bevor du es als dein eigenes Tool brandest: BentoPDF wird unter einer dualen Lizenz veröffentlicht. Die AGPL-3.0-Option ist kostenlos, solange dein Deployment (einschließlich jedes eigenen Brandings oder Codes, den du hinzufügst) seinen Quellcode ebenfalls unter AGPL veröffentlicht. Eine einmalige kommerzielle Lizenz, aktuell 79 $, deckt Closed-Source- oder proprietäre Deployments ab, bei denen du deinen Fork lieber nicht quelloffen machen willst.

FAQ: BentoPDF selbst hosten

Ist BentoPDF wirklich privat?

Ja. Jede PDF-Operation läuft als JavaScript und WebAssembly in deinem Browser-Tab, Dateien werden also nie zur Verarbeitung auf einen Server hochgeladen. Der selbst gehostete Build entfernt die letzte Netzwerkabhängigkeit für das Grundpaket der Tools komplett. Nur eine Handvoll fortgeschrittener Konvertierungen lädt beim ersten Gebrauch zusätzliche WebAssembly-Bibliotheken von einem CDN, und kein Dateiinhalt ist Teil dieser Anfrage.

Wie hoste ich BentoPDF mit Docker selbst?

Ziehe das BentoPDF-Docker-Image und starte es mit einem Befehl: docker run -d -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest. Für ein Setup, das einen Reboot übersteht, nutze stattdessen eine Docker-Compose-Datei mit restart: unless-stopped, die auf denselben selbst gehosteten Image-Tag zeigt. So oder so steht die App innerhalb von Sekunden auf Port 3000 deines Servers bereit, ohne Build-Schritt und ohne dass du zuerst Quellcode klonen musst.

Brauche ich einen leistungsstarken VPS, um BentoPDF zu betreiben?

Nein. Weil BentoPDF seine PDF-Verarbeitung im Browser des Besuchers erledigt statt auf dem Server, muss der VPS nur einen schlanken Container und statische Assets ausliefern. Ein Einstiegs-Core-VPS mit 4 vCPUs und 8 GB RAM bewältigt den Traffic eines kleinen Teams locker. Du bezahlst für zuverlässige Uptime, nicht für Rechenleistung, wenn du einen Plan für selbst gehostete PDF-Tools wie dieses auswählst.

Teilen 𝕏 in