Overview
Docker Compose provides the fastest way to deploy Skyvern with all required services. This guide covers installation, configuration, and management of a Docker-based Skyvern deployment.Prerequisites
- Docker Desktop or Docker Engine 20.10+
- Docker Compose v2.0+
- 8GB+ RAM available
- 50GB+ free disk space
Quick Start
Option 1: Using Skyvern CLI (Recommended)
Option 2: Manual Docker Compose
Docker Compose Configuration
Thedocker-compose.yml defines three services:
Services Overview
Service Details
PostgreSQL Service
- Data Persistence:
./postgres-datastores database files - Health Checks: Ensures database is ready before starting dependent services
- Default Credentials: Change in production deployments
Skyvern Backend Service
- Volumes: Persist artifacts, videos, and logs on host
- Database Connection: Uses internal Docker network (
postgres:5432) - Browser Mode:
chromium-headfulfor visibility (usechromium-headlessfor production) - Health Check: Validates
.streamlit/secrets.tomlexists
Skyvern UI Service
Environment Configuration
Create a.env file in the project root with your LLM provider settings:
For complete environment variable reference, see Environment Variables
LLM Configuration in Docker Compose
The docker-compose.yml includes commented examples for all supported LLM providers:OpenAI
Anthropic
Azure OpenAI
AWS Bedrock
Local LLM with Ollama
Browser Configuration Options
Chromium Headful (Development)
Chromium Headless (Production)
CDP Connect (Use Your Own Browser)
Volume Mounts
Data is persisted in the following directories:Common Docker Compose Commands
Start Services
Monitor Services
Manage Services
Update to Latest Version
Remote Server Deployment
If deploying on a remote server, update the frontend environment variables:External Database Connection
To use an external PostgreSQL database:- Remove or comment out the
postgresservice - Update the database connection string:
Troubleshooting
Service Won’t Start
Database Connection Issues
Port Conflicts
If ports 8000, 8080, or 5432 are already in use, modify the port mappings:Permission Issues
Docker Image Information
Official Images
- Backend:
public.ecr.aws/skyvern/skyvern:latest - Frontend:
public.ecr.aws/skyvern/skyvern-ui:latest
Building Custom Images
The includedDockerfile defines the backend image:
docker-compose.yml:
Next Steps
LLM Configuration
Configure your LLM provider
Storage Configuration
Set up S3 or Azure Blob Storage
Environment Variables
Complete configuration reference
Kubernetes Deployment
Scale with Kubernetes