Infrastructure
Status: Draft Owner: @bilal @deen Last Updated: 2026-02-15
Current State
Not yet deployed. Everything runs locally.
Local Development Stack
| Service | URL |
|---|---|
| Application | http://localhost:3000 |
| Supabase API | http://127.0.0.1:54321 |
| Supabase Studio | http://127.0.0.1:54323 |
| PostgreSQL | 127.0.0.1:54322 |
| Inbucket (email) | http://127.0.0.1:54324 |
Requires: Docker 24+, Node.js, pnpm, Supabase CLI.
Target Production Stack
| Component | Service | Notes |
|---|---|---|
| Next.js hosting | Vercel | Zero-config, preview deploys |
| Database | Supabase Cloud | Managed PostgreSQL + pgvector |
| Auth | Supabase Auth | |
| Storage | Supabase Storage | Issue attachments, documents |
| Domain | ehq.tech | See Domain & Email Setup |
| CI/CD | GitHub Actions | Lint → type-check → test → build → deploy |
| Error tracking | Sentry (planned) | |
| Uptime | UptimeRobot |
Deployment Checklist
- Supabase cloud project created
- Migrations applied to cloud
- Vercel project connected to repo
- Environment variables configured
- DNS pointing to Vercel
- CORS origins set in Supabase
- Health check endpoint (
/api/health) - Error monitoring (Sentry)
- Production secrets rotated
Environments
| Environment | Purpose |
|---|---|
dev | Local development |
prod | Production |
No staging initially. Minimal pipeline approach.
Monitoring (Planned)
| Layer | Tool |
|---|---|
| Uptime | UptimeRobot |
| Errors | Sentry |
| Audit | Database (built-in) |
| Cron health | Cronitor |