Skip to main content
Production is a single Vultr VPS:
ServiceInternal PortRole
Caddy80, 443TLS and reverse proxy
Frontend3000landing page and dashboard
Backend8765FastAPI evidence API
MCP8766remote agent tool endpoint

Routing

https://vimaspatial.tech/       -> frontend:3000
https://vimaspatial.tech/api/*  -> backend:8765
https://vimaspatial.tech/mcp*   -> mcp:8766

No-GPU Constraint

The production box is 1 vCPU / 2 GB RAM. Anything that runs there must be tiny. That is why expensive perception is precomputed offline:
Depth Anything + SAM + reconstruction artifacts
  -> static inference outputs
  -> backend evidence context
  -> dashboard / API / MCP responses
Do not add Torch, Transformers, Open3D, SAM, Depth Anything, or local COLMAP runtime dependencies to production containers.

Deploy

Pushes to main run .github/workflows/deploy.yml, rsync to the VPS, rebuild Docker Compose, and verify backend, MCP, and public Caddy health.