Skip to main content

Deployment Topology

This page describes the recommended production layout.

  • API runtime: app host (Heroku/VM/K8s)
  • Dashboard: web host
  • Mongo + Redis: managed services
  • Mailcow: separate persistent server

Why: email infrastructure should not depend on ephemeral app containers.

API deploy (quick path)

npm run deploy:heroku:api -- <heroku-app-name>

Then set production env/secrets from api/.env.production.example and api/docs/ENVIRONMENT_MATRIX.md.

Mailcow deploy (quick path)

./scripts/setup-mailcow-vps.sh root@<vps-ip> mail.<your-domain>

After installation:

  1. configure DNS records
  2. create Mailcow API key
  3. set API MAILCOW_* vars
  4. run npm run verify:mailcow