Prerequisites
- AWS account with administrative access
- Terraform 1.0+
- AWS CLI configured (
aws configure) - Domain name and ACM certificate (optional, for HTTPS)
Quick Start
terraform.tfvars:
Deploy
https://omni.yourcompany.com.
Infrastructure Overview
| Component | AWS Service | Purpose |
|---|---|---|
| Compute | ECS Fargate | Runs all Omni services (web, searcher, indexer, ai, connectors) |
| Database | ParadeDB on ECS | Primary data store (PostgreSQL + pg_search) |
| Cache | ElastiCache Redis | Sessions and caching |
| Load Balancer | ALB | HTTPS termination, routing |
| Network | VPC | Private subnets, NAT gateway |
| Secrets | Secrets Manager | Auto-generated credentials |
| Logs | CloudWatch | Centralized logging |
| Storage | S3 | Content and backups |
Scaling
terraform apply.
Updating
Updateimage_tag in terraform.tfvars:
Backups
Monitoring
enable_container_insights = true
Destroying
Troubleshooting
| Problem | Solution |
|---|---|
| Terraform apply fails | Run aws sts get-caller-identity to verify credentials; check IAM permissions |
| ECS tasks won’t start | Check CloudWatch logs; verify image pull permissions; increase task memory |
| Database connection errors | Verify security group allows port 5432 from ECS; check ParadeDB task status |
Next Steps
- Connect Data Sources - Google, Slack, Confluence
- User Management - Add users and permissions
- Monitoring Setup - Configure alerts and dashboards