wwwwwwwwwwwwwwwwwww
Deployment Overview
Deploy Takeout to production
Takeout supports two deployment options: Uncloud for self-hosting and SST for AWS.
Deployment options
Feature
Uncloud
SST (AWS)
Setup time
~10 minutes
~30-60 minutes
Cost
VPS cost only
Pay-as-you-go AWS
Scaling
Manual
Auto-scaling
Complexity
Simple
More complex
Database
Self-hosted or managed
Aurora (managed)
Quick comparison
Uncloud (self-hosted)
Best for:
- Starting out
- Predictable costs
- Full control over infrastructure
- Simpler setup
Deploy with:
Terminal
SST (AWS)
Best for:
- Auto-scaling requirements
- Enterprise compliance needs
- AWS ecosystem integration
- Managed services
Deploy with:
Terminal
CI/CD
Both options integrate with GitHub Actions. On push to main:
- Run checks (lint, types)
- Run tests (unit + integration)
- Build the app
- Deploy to production
- Run health checks
Skip deployment for non-main branches with —skip-deploy.
Prerequisites
For Uncloud
- A VPS (DigitalOcean, Hetzner, etc.)
- SSH access to the server
- Docker installed on server
For SST
- AWS account
- AWS CLI configured
- Sufficient IAM permissions
Production environment
Set up .env.production with:
Terminal
Database options
Self-hosted (Uncloud)
PostgreSQL runs alongside your app:
- Automatic backups
- Lower cost
- You manage it
Managed (both)
Use a managed PostgreSQL service:
- Neon, Supabase, or RDS
- Automatic backups
- Professional support
- Higher cost
Domain setup
- Point your domain to your server/load balancer
- Update environment:
Terminal
- SSL is handled automatically (Uncloud uses Caddy, SST uses ALB)
Monitoring
Logs
Terminal
Health checks
Both platforms run health checks after deployment:
- HTTP endpoint check
- Database connection check
- Zero sync status
Rollback
If a deployment fails:
Terminal
Next steps
- Uncloud Deployment - Self-hosted setup
- SST Deployment - AWS setup
- Migrations - Database migrations
Edit this page on GitHub.