Environments
Local Development
Each developer runs backend infrastructure locally via Docker Compose.
Start local infra (from blitz/src/):
bash
just up # Start PostgreSQL, RabbitMQ, MinIO
just down # Stop
just shutdown # Stop and remove containersStart services:
bash
bun devapi # API gateway in watch mode
bun devall # All services in watch mode
bun --filter="@blitz/ws" run dev # Specific serviceFrontend (from blitz-ui/src/):
bash
bun run devui # Main UI dev server at http://localhost:5173Staging (Railway)
Status: Live — primary staging environment.
| Detail | Value |
|---|---|
| Frontend URL | https://letsgo.finaisse.com |
| Backends | Private on *.railway.internal (no public URL; frontend nginx proxies /api) |
| Platform | Railway |
| Services | 6 backend microservices + frontend |
| Images | GHCR — deployed on each push to main |
| Scale | Auto-scales down nightly at 10:30 PM IST (cost saving) |
Required env vars to run scripts against staging:
bash
export RAILWAY_API_TOKEN=...
export RAILWAY_PROJECT_ID=...
export RAILWAY_ENVIRONMENT_ID=... # staging environment IDSee environments/staging/variables.env.example in fin-infra for full variable reference.
Secrets set manually in Railway dashboard (never in code):
JWTSECRETGOOGLE_API_KEYMINIO_ROOT_PASSWORD/MINIO_ROOT_SECRETKEYRABBITMQ_DEFAULT_PASSRUSTFS_ACCESS_KEY/RUSTFS_SECRET_KEY- Postgres credentials (
DATABASE_URL,POSTGRES_USER,POSTGRES_PASSWORD)
Production (Planned — AWS)
Status: Not started. Staging on Railway continues while AWS infrastructure is built out.
Target region: ap-south-1 (Mumbai)
See AWS migration plan for the phased approach.