🚀 Deployment Guide
How to deploy Aeternus to production.
Frontend Deployment (Vercel)
The frontend is deployed automatically to Vercel when you push to master.
Setup
- Connect your GitHub repo to Vercel
- Set environment variables in Vercel dashboard
- Enable automatic deployments on push
Environment Variables (Vercel)
Add these in Vercel project settings:
NEXT_PUBLIC_CORE_API_BASE_URL=https://api.aeternus.aiDATABASE_URL=postgresql://...(production DB)AUTH0_*variablesOPENAI_API_KEY- etc.
Backend Deployment (AWS ECS)
The backend is deployed to AWS ECS (Fargate) via GitHub Actions.
Automatic Deploy
- Push code to
core/directory onmaster - GitHub Actions workflow triggers automatically
- Docker image is built and pushed to ECR
- ECS service is updated with new image
- Deployment is verified with health checks
This happens in 4 stages:
- 🔨 Build — Docker image → ECR
- 🚀 Deploy — Register task definition, update service
- ✅ Verify — Poll ECS until rollout completes
- 📊 Summary — Generate deployment report
Manual Deploy
scripts/aws/core/build-and-push.sh # Build & push to ECR
scripts/aws/core/deploy-ecs.sh # Update ECS service
Database Deployment
PostgreSQL (RDS)
Managed by AWS RDS. Backups are automatic.
To apply migrations in production:
DATABASE_URL=postgresql://prod-user:pass@prod-db/aeternus \
npx prisma migrate deploy
Neo4j (Neo4j Aura)
Managed by Neo4j cloud. No manual deployment needed.
Monitoring
Frontend (Vercel)
- Vercel dashboard → Deployments
- Check logs and analytics
Backend (AWS)
- CloudWatch logs
- ECS service status
- ALB target health
Rollback
Frontend
- Vercel dashboard
- Find previous successful deployment
- Click "Promote to Production"
Backend
- AWS ECS console
- Select previous task definition
- Update service with old task definition
See AWS documentation for detailed setup.