Skip to main content
Self-Hosted

Browser automation that stays inside your network.

Browserless is a headless browser server for Puppeteer and Playwright. Run it in your VPC, on-prem, or air-gapped, and connect to it the same way you connect to our cloud.

Open-source Docker image · Commercial & Enterprise licensing · GPU-ready

Why self-host

When the browser has to run on your side of the firewall

Some workloads can't send data to a third-party cloud. Self-hosted Browserless keeps every session inside infrastructure you own and operate.

Data never leaves your network
Every page, screenshot, and scraped payload stays inside infrastructure you control. Nothing transits a third-party cloud, so sensitive data never leaves your security boundary.
Air-gapped, VPC, and on-prem
Deploy into a private VPC, an isolated subnet, or a fully air-gapped environment. The image is built for network-isolated infrastructure with no dependency on our cloud.
Built for regulated industries
Run healthcare, finance, and government workloads in the region you choose to meet GDPR and data-residency rules. Browserless supports HIPAA-compatible self-hosted Enterprise deployments, signs BAAs, and holds a SOC 2 Type II report.
Cloud, private, or self-hosted

Choosing the right deployment

Private Deployment and self-hosted Docker run the same Enterprise image. The difference between all three options is who operates them and where your data lives.

Cloud (shared)Private DeploymentSelf-Hosted Docker
Who runs the infrastructureBrowserlessBrowserless, on dedicated VMsYou
Where your data livesBrowserless cloudBrowserless-managed cloudYour VPC, on-prem, or air-gapped
Managed residential proxiesIncludedIncludedBring your own
Hosted dashboard and fleet opsIncludedIncludedLocal metrics and OpenTelemetry
Best forFast start, prototyping, low opsProduction scale with no infra workData sovereignty, regulated industries, custom networking

Not sure? Talk to our team and we'll size a deployment to your workload and compliance posture.

One container

Pull the image. Point your code at it.

The open-source Docker image runs your Puppeteer and Playwright code over WebSocket, plus the core REST APIs, inside your own environment. The licensed Enterprise image adds BrowserQL, stealth, and session recording.

Your existing automation connects the same way it does in the cloud. Swap the endpoint, keep the code.

# Open-source single-browser image
docker run --rm -p 3000:3000 \
  -e "TOKEN=YOUR_TOKEN" \
  ghcr.io/browserless/chromium

# Or the multi-browser image:
# ghcr.io/browserless/multi
# Chrome · Chromium · Firefox · WebKit · Edge
13,000+GitHub stars
175M+Docker pulls
8 yearsin production
Editions

Open source to enterprise

Start with the open-source image, license it for commercial use, or run a private Enterprise deployment with dedicated infrastructure and support.

Open Source

Free, open-source

Open-source projects, prototyping, and evaluation.

  • Public Docker image on GHCR
  • Puppeteer, Playwright & core REST APIs
  • SSPL-1.0 license
  • Community support on GitHub
View on GitHub
Most popular

Commercial License

Talk to sales

Closed-source commercial products, SaaS, or CI that can't meet SSPL's open-source terms.

  • Use in closed-source commercial products
  • Run in commercial CI systems
  • Priority support and source access
  • Admin UI
Talk to sales

Enterprise

Talk to sales

Private deployments with custom infrastructure and dedicated support.

  • BrowserQL, stealth & session recording
  • GPU-enabled instances
  • Custom datacenter locations & providers
  • SSO & user roles
  • Dedicated technical account manager
Contact sales

What the cloud handles for you

A few capabilities are cloud-only. If you need them on a self-hosted deployment, here's how each one maps.

Advanced REST APIs
Six endpoints are cloud-only: /unblock, /smart-scrape, /search, /map, /crawl, and /agent/run. Self-hosted images offer /scrape for structured extraction and /content for rendered HTML instead.
Managed residential proxies
The cloud's proxy options use Browserless-managed vendors. Self-hosted brings your own proxy server, set per request via launch args or BQL. We also sell proxy access to self-hosted customers.
Hosted dashboard and metrics
The account dashboard isn't part of the self-hosted image. Track sessions through the local /metrics endpoint, or export to any OTLP-compatible backend with OpenTelemetry on the Enterprise image.
Regional load balancing
The cloud routes across San Francisco, London, and Amsterdam. Self-hosted runs on the hosts and regions you choose, with NGINX or your own load balancer in front.

Production features, in your stack

Self-hosted Enterprise runs the same licensed image as our managed Private Deployments, including observability tools and BrowserQL. The open-source image covers the browsers, scaling controls, and core APIs.

Every major browser
The multi-browser image ships Chrome, Chromium, Firefox, WebKit, and Edge. Pull a single-browser image when you only need one.
Observability built in
OpenTelemetry traces and metrics, structured logs, and a live debugger so you can see what every session is doing in your own stack.
Scale on your terms
Set concurrency limits, queueing behavior, and timeouts. Put NGINX or your own load balancer in front to scale horizontally.
GPU acceleration
Render WebGL, WebGPU, video, and animation-heavy pages fast. GPU-enabled infrastructure is available on Enterprise private deployments and licensed self-hosting.
Same code, new host
Puppeteer, Playwright, and the core REST APIs use the same paths as the cloud, and the licensed Enterprise image adds BrowserQL. Only the host and token in your connection URL change.
Extendable codebase
Build on the base image to add custom fonts, packages, npm modules, and your own routes, or fork the open-source core under a commercial license.

How much hardware does it take?

Each container runs one or more Chromium processes. Scale out by adding containers behind a load balancer rather than pushing concurrency on a single host.

Light

5 to 10 concurrent sessions

2 CPU · 4 GB RAM

Medium

10 to 20 concurrent sessions

4 CPU · 8 GB RAM

Heavy

20 to 50 concurrent sessions

8+ CPU · 16+ GB RAM

You control the upgrade path

Pin to a specific image version for production stability and upgrade on your own schedule when a new version ships.

# Pin to a version for reproducible deploys
docker pull \
  registry.browserless.io/browserless/browserless/enterprise:2.3.0

Test a new version in staging, then roll it out one instance at a time. Private Deployment customers also get release emails and a test environment from us.

Enterprise guide

Self-host Browserless on your infrastructure

Docker, Kubernetes, GPU acceleration, air-gapped licensing, and HIPAA-ready deployment, all in one guide.

Read the deployment guide
Security & compliance

Built to pass a security review

Self-hosting puts the controls in your hands. Here's what that means in practice.

Your data stays in your network

Self-hosted sessions run inside infrastructure you own. Browserless has no access to the pages, screenshots, or data your sessions produce.

Role-based access control

With the Enterprise image, issue per-team tokens with admin, developer, viewer, or public roles. Tokens persist to disk and survive container restarts.

Network isolation

Run behind a reverse proxy, disable unused features like ALLOW_GET, ALLOW_FILE_PROTOCOL, and ENABLE_CORS, and mount keys and tokens with Docker secrets.

Audit-ready compliance

SOC 2 Type II report and HIPAA BAA available on request for Enterprise deployments, plus a DPA for deployments we operate.

SOC 2 Type IIGDPRHIPAA BAADPA available
Visit the Trust Center

Self-hosting questions, answered

Is self-hosting Browserless free?

The open-source Docker image is free under SSPL-1.0 and a good fit for open-source projects, prototyping, and evaluation. Building a closed-source commercial product, or running it in a closed-source CI system, requires a commercial license.

What is the difference between the open-source and licensed builds?

The open-source image includes Puppeteer, Playwright, and the core REST APIs. A commercial license adds the right to run in closed-source commercial and CI environments, priority support, source access to fork and modify, and an admin UI. The Enterprise image adds BrowserQL, stealth, and session recording. Enterprise plans also include GPU support, custom infrastructure, and a dedicated technical account manager, and Private Deployments add SSO.

What is the difference between self-hosted Docker and Private Deployment?

Both use the same Enterprise image and the same APIs. With self-hosted Docker, you manage infrastructure, scaling, and updates. With Private Deployment, Browserless runs dedicated VMs for you with a managed dashboard, fleet operations, and load balancing. Choose self-hosted for data-residency or air-gapped needs; choose Private Deployment for enterprise-grade infrastructure you don't operate.

Can I run Browserless behind a firewall or in an air-gapped network?

Yes. Neither image needs a connection to our cloud to run. The licensed Enterprise image activates with a time-limited software key that works offline: no external connections, no callbacks. When a key expires, the container exits with an error, so renew keys before they lapse.

Do you see my data when I self-host?

No. Self-hosted containers run entirely in your network. The pages, screenshots, and scraped data your sessions produce never leave your infrastructure.

Do you support GPU-enabled deployments?

Yes. GPU-enabled infrastructure is available with Enterprise private deployments and licensed self-hosting, for faster rendering of WebGL, WebGPU, video, and animation-heavy pages.

Are the cloud and self-hosted APIs the same?

For most automation, yes. Puppeteer, Playwright, and the core REST APIs use the same paths as the cloud in both self-hosted images, and the licensed Enterprise image adds BrowserQL and stealth. Only the host and token in your connection URL change. Six advanced REST endpoints stay cloud-only: /unblock, /smart-scrape, /search, /map, /crawl, and /agent/run.

Run Browserless in your own environment.

Tell us about your infrastructure and compliance requirements, and we'll help you stand up a self-hosted deployment.