Overview
Skyvern generates various artifacts during workflow execution, including screenshots, downloaded files, HAR (HTTP Archive) files, and video recordings. By default, these are stored locally on the filesystem, but for production deployments, you should configure cloud storage for better scalability and durability.Storage Types
Skyvern stores four types of data:| Type | Description | Default Path | Typical Size |
|---|---|---|---|
| Artifacts | Screenshots, downloaded files | /data/artifacts | Variable (1MB-100MB per task) |
| Videos | Browser session recordings | /data/videos | 10-50MB per task |
| HAR Files | Network traffic logs | /data/har | 1-10MB per task |
| Logs | Application logs | /data/log | 1-5MB per day |
Supported Storage Backends
Local Filesystem (Default)
Best for: Development, single-server deployments Configuration:- Simple setup, no additional services
- Fast access
- No egress costs
- Not suitable for multi-node deployments
- No built-in redundancy
- Manual backup required
- Disk space management needed
AWS S3
Best for: Production deployments on AWS, multi-node Kubernetes clusters Configuration:- Create S3 bucket:
- Configure bucket lifecycle policy (optional, to auto-delete old artifacts):
- Set bucket policy for access:
- Create IAM user with S3 access:
Azure Blob Storage
Best for: Production deployments on Azure, Azure-integrated environments Configuration:- Create Storage Account:
- Create Container:
- Get Access Key:
- (Optional) Configure lifecycle management:
MinIO (S3-Compatible)
Best for: On-premises deployments, self-hosted object storage Configuration:Storage Path Structure
Skyvern organizes files with this structure:Environment Variables Reference
General Storage Settings
S3 Storage Settings
Azure Blob Storage Settings
Testing Storage Configuration
After configuring storage, verify it works:- Start Skyvern:
- Check logs for storage initialization:
- Run a test task that generates artifacts:
- Verify files are uploaded:
Kubernetes Storage Configuration
Using S3 with Kubernetes
Using Azure Blob with Kubernetes
Cost Optimization
S3 Storage Classes
Use lifecycle policies to move old artifacts to cheaper storage:Azure Blob Access Tiers
Compression
Enable compression for videos to reduce storage:Backup and Disaster Recovery
S3 Versioning
S3 Cross-Region Replication
Azure Blob Soft Delete
Troubleshooting
”Access Denied” Errors
S3:- Verify IAM user has correct permissions
- Check bucket policy
- Ensure region matches
- Verify storage account key is correct
- Check container exists
- Verify network access (firewall rules)
Slow Upload Speeds
- Use correct region (closest to deployment)
- Enable multipart uploads for large files
- Check network bandwidth
Storage Costs Too High
- Implement lifecycle policies
- Reduce video recording quality
- Delete old artifacts programmatically
- Use cheaper storage tiers
Next Steps
Environment Variables
Complete configuration reference
Docker Setup
Deploy with Docker Compose
Kubernetes Deployment
Production Kubernetes setup