PinchTab provides official Docker images with Chromium bundled for easy containerized deployment.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pinchtab/pinchtab/llms.txt
Use this file to discover all available pages before exploring further.
Quick Start
Using Docker CLI
Using Docker Compose
For production deployments, use Docker Compose for easier management.Configuration
Environment Variables
Configure PinchTab using environment variables:| Variable | Default | Description |
|---|---|---|
BRIDGE_BIND | 0.0.0.0 | Address to bind to (set for Docker) |
BRIDGE_PORT | 9867 | HTTP server port |
BRIDGE_TOKEN | - | Authentication token (recommended for production) |
BRIDGE_HEADLESS | true | Run Chrome in headless mode |
BRIDGE_STATE_DIR | /data | Directory for persistent state |
BRIDGE_PROFILE | /data/chrome-profile | Chrome profile directory |
BRIDGE_STEALTH | light | Stealth mode: light or full |
BRIDGE_BLOCK_IMAGES | false | Block image loading |
BRIDGE_BLOCK_MEDIA | false | Block all media |
BRIDGE_NO_ANIMATIONS | false | Disable CSS animations |
CHROME_BINARY | /usr/bin/chromium-browser | Chrome binary path (auto-set in Docker) |
CHROME_FLAGS | --no-sandbox --disable-gpu | Chrome flags (auto-set in Docker) |
With Authentication Token
With Custom Port
Building from Source
You can also build the Docker image from source:- Build stage: Compiles the Go binary using
golang:1.26-alpine - Runtime stage: Creates minimal Alpine Linux image with Chromium
The final image uses Alpine Linux for minimal size and includes all necessary dependencies for running Chromium.
Docker Architecture
The PinchTab Docker image:- Base: Alpine Linux (minimal footprint)
- Browser: Chromium bundled
- User: Runs as non-root user
pinchtab - Init: Uses
dumb-initfor proper signal handling - State: Persists data in
/datavolume - Port: Exposes 9867 by default
Profiles & Multi-Instance
Docker runs PinchTab in bridge mode with a single headless Chrome instance.
- Containers are ephemeral — profiles persist only with volume mounts
- One container = one browser instance (recommended model)
- For multiple isolated instances, run multiple containers
Running Multiple Containers
Security Considerations
Required Security Options
Production Security Checklist
Performance Tuning
Shared Memory
Chrome requires shared memory for stability. Increase if you see crashes:Resource Limits
Adjust based on your workload:Font Support
The image includes basic fonts. For specific fonts, extend the Dockerfile:Troubleshooting
Chrome Crashes
Symptom: Container restarts or Chrome process fails Solution: Increase memory and shared memory:Connection Refused
Symptom: Cannot connect tohttp://localhost:9867
Check:
Slow Performance
Solutions:- Increase shared memory:
shm_size: '2gb' - Allocate more CPU:
cpus: '4.0' - Use headless mode:
BRIDGE_HEADLESS=true - Block unnecessary resources:
BRIDGE_BLOCK_IMAGES=true
Font Rendering Issues
Solution: Install additional fonts:Logs and Debugging
View Logs
Interactive Shell
Next Steps
Configuration
Learn about environment variables and settings
Quick Start
Start automating with PinchTab
API Reference
Explore HTTP endpoints
Production Guide
Deploy PinchTab in production