Skip to content

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 containers

Start services:

bash
bun devapi     # API gateway in watch mode
bun devall     # All services in watch mode
bun --filter="@blitz/ws" run dev   # Specific service

Frontend (from blitz-ui/src/):

bash
bun run devui  # Main UI dev server at http://localhost:5173

Staging (Railway)

Status: Live — primary staging environment.

DetailValue
Frontend URLhttps://letsgo.finaisse.com
BackendsPrivate on *.railway.internal (no public URL; frontend nginx proxies /api)
PlatformRailway
Services6 backend microservices + frontend
ImagesGHCR — deployed on each push to main
ScaleAuto-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 ID

See environments/staging/variables.env.example in fin-infra for full variable reference.

Secrets set manually in Railway dashboard (never in code):

  • JWTSECRET
  • GOOGLE_API_KEY
  • MINIO_ROOT_PASSWORD / MINIO_ROOT_SECRETKEY
  • RABBITMQ_DEFAULT_PASS
  • RUSTFS_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.