Overview
Skyvern can be self-hosted to give you complete control over your browser automation infrastructure. Self-hosting allows you to:- Run Skyvern behind your firewall for enhanced security
- Customize infrastructure to meet your specific requirements
- Integrate with existing authentication and storage systems
- Scale horizontally based on your workload
Architecture Components
A self-hosted Skyvern deployment consists of three main components:1. Skyvern Backend
The core automation engine that:- Executes browser automation tasks using Playwright
- Manages LLM interactions for intelligent navigation
- Handles workflow execution and task orchestration
- Exposes REST API on port 8000
- Provides Chrome DevTools Protocol (CDP) on port 9222
public.ecr.aws/skyvern/skyvern:latest
2. Skyvern UI
The web-based interface that:- Provides task and workflow management
- Enables livestreaming of browser sessions
- Displays execution history and artifacts
- Runs on port 8080 (UI) and 9090 (artifact API)
public.ecr.aws/skyvern/skyvern-ui:latest
3. PostgreSQL Database
Stores:- Task and workflow definitions
- Execution history and logs
- User configurations and credentials
- Extracted data and artifacts metadata
Deployment Options
Skyvern supports multiple deployment methods:Docker Compose
Quick setup for single-server deployments
Kubernetes
Production-grade orchestration for scalable deployments
System Requirements
Minimum Requirements
- CPU: 4 cores
- RAM: 8GB
- Storage: 50GB (for artifacts, videos, logs)
- OS: Linux (Ubuntu 20.04+), macOS, or Windows with WSL2
Recommended for Production
- CPU: 8+ cores
- RAM: 16GB+
- Storage: 200GB+ SSD (with proper backup strategy)
- Network: Stable internet connection for LLM API calls
Prerequisites
Before deploying Skyvern, ensure you have:- LLM Provider Access: API keys for at least one supported provider (OpenAI, Anthropic, Azure, etc.)
- Database: PostgreSQL 14+ instance
- Storage (Optional): S3-compatible storage or Azure Blob Storage for artifacts
- Container Runtime: Docker or Kubernetes cluster
Data Storage Paths
Skyvern stores various types of data during execution:| Type | Default Path | Description |
|---|---|---|
| Artifacts | /data/artifacts | Screenshots, downloaded files |
| Videos | /data/videos | Browser session recordings |
| HAR Files | /data/har | Network traffic logs |
| Logs | /data/log | Application logs |
| Streamlit Config | /app/.streamlit | UI configuration |
Security Considerations
Best Practices
- Secrets Management: Use environment variables or secret management tools (never commit secrets to version control)
- Network Security: Deploy behind a firewall or use network policies in Kubernetes
- API Authentication: Generate and rotate API keys regularly
- Database Security: Use strong passwords and restrict database access
- TLS Certificates: Enable HTTPS for production deployments
Next Steps
Docker Setup
Deploy with Docker Compose
LLM Configuration
Configure LLM providers
Environment Variables
Complete configuration reference