Browserless einfach selbst hosten

Browserless einfach selbst hosten

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
5 min

Browserless gibt dir einen Headless Chrome Browser als Service. Du kannst damit Web Scraping, Screenshots, PDF-Erstellung und automatisierte Tests über eine einfache REST API erledigen. Das offizielle Cloud-Angebot wird schnell teuer, besonders bei hohem Volumen, und du teilst dir Ressourcen mit anderen Nutzern.

Sliplane ist eine Managed Container Platform, die Self-Hosting einfach macht. Mit One-Click Deployment hast du Browserless in wenigen Minuten am Laufen - kein Server-Setup, kein Reverse Proxy, keine Infrastruktur zum Verwalten.

Voraussetzungen

Vor dem Deployment brauchst du einen Sliplane Account (kostenlose Testphase verfügbar).

Schnellstart

Sliplane bietet One-Click Deployment mit Presets.

SliplaneBrowserless deployen >
  1. Klick auf den Deploy-Button oben
  2. Wähl ein Projekt aus
  3. Wähl einen Server aus (bei Neuanmeldung bekommst du einen 48-Stunden-Testserver kostenlos)
  4. Klick auf Deploy!

Über das Preset

Das One-Click Deploy oben nutzt Sliplanes Browserless Preset. Das steckt drin:

  • Chromium-basiertes Image (ghcr.io/browserless/chromium) für einen schlanken Headless Browser
  • Fester Version-Tag (v2.49.0) für Stabilität
  • Token-Authentifizierung standardmäßig aktiviert mit einem zufällig generierten 32-Zeichen Token
  • Healthcheck konfiguriert auf /docs, um zu prüfen, ob der Service läuft
  • Kein persistenter Storage nötig, da Browserless ein stateless Service ist

Nächste Schritte

Geh zu https://browserless-xxxx.sliplane.app/docs, um die integrierte API-Dokumentation zu sehen.

Authentifizierung

Alle API-Requests brauchen den TOKEN-Wert aus deinen Umgebungsvariablen. Du findest ihn in den Service-Einstellungen auf Sliplane. Übergib ihn als Query-Parameter oder Header:

# Query-Parameter
curl "https://deine-domain.sliplane.app/screenshot?token=DEIN_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com"}' \
  --output screenshot.png

# Authorization Header
curl "https://deine-domain.sliplane.app/screenshot" \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer DEIN_TOKEN' \
  -d '{"url": "https://example.com"}' \
  --output screenshot.png

Häufig genutzte API-Endpoints

Browserless bietet mehrere nützliche Endpoints out of the box:

EndpointBeschreibung
/screenshotScreenshots von Webseiten erstellen
/contentHTML-Inhalt einer Seite abrufen
/pdfPDFs aus Webseiten generieren
/scrapeStrukturierte Daten aus Seiten scrapen
/functionEigene Puppeteer/Playwright-Funktionen ausführen

Umgebungsvariablen

Du kannst das Verhalten von Browserless über Umgebungsvariablen in den Sliplane Service-Einstellungen anpassen:

VariableBeschreibungStandard
TOKENAuthentifizierungs-Token für API-Zugriff(automatisch generiert)
CONCURRENTMax. gleichzeitige Browser-Sessions10
QUEUEDMax. Requests in der Warteschlange10
TIMEOUTStandard Request-Timeout in ms30000
HEALTHHealthchecks aktivierentrue

Logging

Browserless loggt standardmäßig nach STDOUT, was super mit Sliplanes integriertem Log-Viewer funktioniert. Für detailliertere Ausgaben setz die Umgebungsvariable DEBUG auf browserless*. Allgemeine Docker-Log-Tipps findest du in unserem Post über Docker Logs.

Kostenvergleich

Du kannst Browserless auch bei anderen Cloud-Anbietern selbst hosten. Hier ein Preisvergleich der gängigsten Anbieter:

AnbietervCPURAMDiskMonatliche KostenHinweis
Sliplane22 GB40 GB€9 (~$10.65)Flatrate, 1 TB Bandwidth, SSL inklusive
Fly.io22 GB40 GB~$18Disk und Bandwidth extra
Render12 GB40 GB~$35100 GB Bandwidth, Disk extra
Railway22 GB40 GB~$67 + $20 PlanPro-Plan-Minimum, nutzungsbasiert, Bandwidth extra
Klick hier, um die Berechnung zu sehen.

(Angenommen eine always-on Instanz mit 730 Stunden/Monat)

  • Sliplane: Flat €9/Monat für den Base Server. Unbegrenzte Services auf demselben Server, 1 TB Egress und SSL inklusive.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/Monat + 40 GB Volume × $0.15/GB = $6 -> ~$17.83/Monat. Egress wird separat berechnet ($0.02/GB in der EU).
  • Render: Nächstliegendes Angebot ist Standard ($25, 1 vCPU / 2 GB) plus 40 GB Disk × $0.25/GB = $10 -> ~$35/Monat. Pro (2 vCPU / 4 GB) kostet $85/Monat + Disk.
  • Railway (Pro Plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; Volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/Monat Compute, plus $20/Monat Pro-Plan-Minimum und $0.05/GB Egress.

Bandwidth-Kosten können bei nutzungsbasierten Anbietern schnell steigen. Nutz unser Bandwidth-Kostenvergleichstool , um zu sehen, was dein Egress bei jedem Anbieter kosten würde.

FAQ

Wofür kann ich Browserless nutzen?

Browserless ist ideal für alles, was eine echte Browser-Umgebung ohne sichtbares Fenster braucht. Typische Anwendungsfälle sind Web Scraping, PDF- oder Screenshot-Erstellung von URLs, End-to-End Tests mit Puppeteer oder Playwright und automatisierte Formular-Eingaben. Besonders nützlich ist es, wenn du Browser-Rendering im großen Stil in Backend-Workflows oder Automatisierungs-Pipelines brauchst.

Wie begrenze ich gleichzeitige Sessions?

Setz die Umgebungsvariable CONCURRENT in deinen Sliplane Service-Einstellungen. Der Standard ist 10, also können bis zu 10 Browser-Sessions gleichzeitig laufen. Auf einem kleineren Server kann es helfen, den Wert auf 5 oder sogar 2 zu senken, um den Speicherverbrauch stabil zu halten.

Wie update ich Browserless?

Änder den Image-Tag in deinen Service-Einstellungen auf Sliplane und redeploy. Prüf die GitHub Container Registry für die neuesten stabilen Version-Tags.

Gibt es Alternativen zu Browserless?

Ja. Playwright und Puppeteer können als eigenständige Services in Docker laufen. Selenium Grid ist eine weitere Option für verteilte Browser-Automatisierung. Browserless ist allerdings einzigartig mit seiner sauberen REST API, die keine Client-seitigen Libraries braucht - das macht die Integration aus jeder Sprache oder Plattform einfach.

Kann ich Browserless mit Puppeteer oder Playwright nutzen?

Klar. Statt einen lokalen Browser zu starten, verbindest du deinen Puppeteer- oder Playwright-Client über den WebSocket-Endpoint mit deiner Browserless-Instanz. Für Puppeteer nutzt du puppeteer.connect({ browserWSEndpoint: 'wss://deine-domain.sliplane.app?token=DEIN_TOKEN' }). Für Playwright nutzt du die connectOverCDP-Methode mit der gleichen URL.

Browserless jetzt selbst hosten - ganz einfach!

Sliplane gibt dir alles, was du brauchst, um Browserless ohne Server-Stress zu betreiben.