Self-hosting Browserless the easy way

Self-hosting Browserless the easy way

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

Browserless gives you a headless Chrome browser as a service. It handles web scraping, screenshot capture, PDF generation, and automated testing through a simple REST API. The official cloud offering can get expensive quickly, especially at scale, and you're sharing resources with other users.

Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Browserless up and running in minutes - no server setup, no reverse proxy config, no infrastructure to maintain.

Prerequisites

Before deploying, ensure you have a Sliplane account (free trial available).

Quick start

Sliplane provides one-click deployment with presets.

SliplaneDeploy Browserless >
  1. Click the deploy button above
  2. Select a project
  3. Select a server (If you just signed up you get a 48-hour free trial server)
  4. Click Deploy!

About the preset

The one-click deploy above uses Sliplane's Browserless preset. Here's what it includes:

  • Chromium-based image (ghcr.io/browserless/chromium) for a lightweight headless browser
  • Specific version tag (v2.49.0) for stability
  • Token authentication enabled by default with a randomly generated 32-character token
  • Healthcheck configured against /docs to verify the service is running
  • No persistent storage needed since Browserless is a stateless service

Next steps

Visit https://browserless-xxxx.sliplane.app/docs to see the built-in API documentation.

Authentication

All API requests require the TOKEN value set in your environment variables. You can find it in your service settings on Sliplane. Pass it as a query parameter or header:

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

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

Common API endpoints

Browserless exposes several useful endpoints out of the box:

EndpointDescription
/screenshotCapture screenshots of web pages
/contentGet the HTML content of a page
/pdfGenerate PDFs from web pages
/scrapeScrape structured data from pages
/functionRun custom Puppeteer/Playwright functions

Environment variables

You can customize Browserless behavior by adding environment variables in your Sliplane service settings:

VariableDescriptionDefault
TOKENAuthentication token for API access(auto-generated)
CONCURRENTMax concurrent browser sessions10
QUEUEDMax queued requests10
TIMEOUTDefault request timeout in ms30000
HEALTHEnable health checkstrue

Logging

Browserless logs to STDOUT by default, which integrates well with Sliplane's built-in log viewer. For more detailed output, set the DEBUG environment variable to browserless*. For general Docker log tips, check out our post on how to use Docker logs.

Cost comparison

You can also self-host Browserless with other cloud providers. Here is a pricing comparison for the most common ones:

ProvidervCPURAMDiskMonthly CostNote
Sliplane22 GB40 GB€9 (~$10.65)Flat rate, 1 TB bandwidth, SSL included
Fly.io22 GB40 GB~$18Disk and bandwidth billed separately
Render12 GB40 GB~$35100 GB bandwidth, Disk billed separately
Railway22 GB40 GB~$67 + $20 planPro plan floor, usage-based, bandwidth billed separately
Click here to see how these numbers were calculated.

(Assuming an always-on instance running 730 hrs/month)

  • Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU).
  • Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + 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/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.

Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.

FAQ

What can I use Browserless for?

Browserless is great for any task that needs a real browser environment without a visible window. Common use cases include web scraping, generating PDFs or screenshots from URLs, running end-to-end tests with Puppeteer or Playwright, and automating form submissions. It's especially useful when you need browser rendering at scale in backend workflows or automation pipelines.

How do I limit concurrent sessions?

Set the CONCURRENT environment variable in your Sliplane service settings. The default is 10, which means up to 10 browser sessions can run at the same time. If you're on a smaller server, lowering this to 5 or even 2 can help keep memory usage stable.

How do I update Browserless?

Change the image tag in your service settings on Sliplane and redeploy. Check GitHub Container Registry for the latest stable version tags.

Are there alternatives to Browserless?

Yes. Playwright and Puppeteer can be run as standalone services in Docker. Selenium Grid is another option for distributed browser automation. However, Browserless is unique in offering a clean REST API that doesn't require any client-side libraries, making it easy to integrate from any language or platform.

Can I use Browserless with Puppeteer or Playwright?

Absolutely. Instead of launching a local browser, point your Puppeteer or Playwright client at your Browserless instance using the WebSocket endpoint. For Puppeteer, use puppeteer.connect({ browserWSEndpoint: 'wss://your-domain.sliplane.app?token=YOUR_TOKEN' }). For Playwright, use the connectOverCDP method with the same URL.

Self-host Browserless now - It's easy!

Sliplane gives you all the tools you need to run Browserless without server hassle.