
browserautos/chromiumOfficial Docker Image:
browserautos/chromium
Production-ready browser automation API powered by Playwright Chromium. Provides REST APIs and WebSocket CDP proxy for screenshots, PDF generation, content extraction, and web scraping.
; const browser = await puppeteer.connect({ browserWSEndpoint: 'ws://localhost:3001/ws' }); const page = await browser.newPage(); await page.goto('[***] await browser.close();
javascriptconst { chromium } = require('playwright'); const browser = await chromium.connect({ wsEndpoint: 'ws://localhost:3001/ws' }); const page = await browser.newPage(); await page.goto('[***] await browser.close();
Default Users:
admin / admin123api-user / apiuser123Get Access Token:
bashcurl -X POST http://localhost:3001/auth/login \ -H "Content-Type: application/json" \ -d '{"username": "admin", "password": "admin123"}'
Use Token:
bash# With JWT curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3001/screenshot # With API Key curl -H "X-API-Key: YOUR_KEY" http://localhost:3001/screenshot
yamlversion: '3.8' services: chromium: image: browserautos/chromium:latest ports: - "3001:3001" environment: - JWT_SECRET=your-secret-key - ENABLE_QUEUE=false shm_size: '2gb' mem_limit: 4g restart: unless-stopped redis: image: redis:7-alpine volumes: - redis-data:/data volumes: redis-data:
Required Environment Variables:
bashJWT_SECRET=your-secret-key # Required for authentication
Optional Settings:
bash# Queue System ENABLE_QUEUE=false REDIS_URL=redis://redis:6379 # Browser Pool BROWSER_POOL_MIN=2 BROWSER_POOL_MAX=10 # Logging LOG_LEVEL=info
Resource Requirements:
| Minimum | Recommended | |
|---|---|---|
| Memory | 2GB | 4GB |
| CPU | 1 core | 2 cores |
| Shared Memory | 2GB (required) | 2GB |
Important: Always set
--shm-size=2gbfor Chromium stability
browser.autos provides multiple tags for different use cases:
| Tag | Base Image | Size | Use Case |
|---|---|---|---|
latest | Debian Bookworm | ~1.4GB | Recommended for production |
1.0.0 | Debian Bookworm | ~1.4GB | Version locked |
debian | Debian Bookworm | ~1.4GB | Stable baseline |
alpine | Alpine Linux | ~800MB | Lightweight (coming soon) |
Multi-Architecture:
linux/amd64 - Intel/AMDlinux/arm64 - Apple Silicon, AWS Graviton, Azure ARMbash# Pull specific version docker pull browserautos/chromium:latest docker pull browserautos/chromium:1.0.0 docker pull browserautos/chromium:debian
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check and system info |
/screenshot | POST | Generate screenshot |
/pdf | POST | Generate PDF |
/content | POST | Extract page content |
/scrape | POST | Scrape data with selectors |
/ws | WebSocket | CDP protocol proxy |
/metrics | GET | Prometheus metrics |
/docs | GET | Interactive API documentation |
Tested on 4 vCPU, 8GB RAM
| Operation | Cold Start | With Pool | Improvement |
|---|---|---|---|
| Screenshot | 7.6s | 1.2s | 85% faster |
| 8.0s | 2.0s | 75% faster | |
| Content | 4.5s | 1.5s | 67% faster |
browser.autos powers diverse automation workflows:
Chromium won't start:
bash# Ensure shared memory is set docker run --shm-size=2gb browserautos/chromium:latest
Out of memory:
bash# Increase memory limit docker run --memory=4g browserautos/chromium:latest
Check logs:
bashdocker logs chromium docker logs -f chromium # Follow mode
Authentication errors:
bash# Disable auth for testing (not recommended for production) docker run -e REQUIRE_AUTH=false browserautos/chromium:latest
browser.autos follows semantic versioning:
Check version:
bashdocker run --rm browserautos/chromium:latest \ node -e "console.log(require('./package.json').version)"
browser.autos is an open-source browser automation platform for developers, testers, and businesses.
Why browser.autos?
Maintained by the browser.autos Team
Image: browserautos/chromium (stable, unchanged)
Version: 1.0.0
Chromium: 141.0.7390.37 (Playwright)
Updated: 2025-10-11
⭐ Star us on GitHub!
MIT License - Free for commercial use



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务