DPSDeployment

Deployment

How DPS itself is deployed and operated. For how DPS deploys consumer apps, see Multi-Tenancy & Isolation and the per-template chapters.

Production topology

ComponentWhereContainerPort
dps-servergcp-platform VMdps-server-app1337
dps-server MongoDBgcp-platform VMdps-server-mongo27017 (internal)
dps-dashboardVerceln/a443
dps-workflows (n8n)gcp-platform VMn8n5678 (proxied)
Tenant Parse Serversgcp-platform VMparse-<instanceId>dynamic 8000–9000
Tenant MongoDBsgcp-platform VMmongo-<instanceId>internal

Public endpoints

EndpointRoutes to
api.platform.duabalabs.com/parsedps-server-app:1337
api.platform.duabalabs.com/dashboardparse-dashboard inside dps-server-app
platform.duabalabs.comVercel deployment of dps-dashboard
dps.duabalabs.comMarketing landing (Netlify, separate site)
<custom>.dps.duabalabs.comTenant Parse Server (dynamic Nginx + Certbot)

Deployment paths

dps-server

  • Image: ghcr.io/duabalabs/dps-server:<tag> (built by GitHub Actions on push to main).
  • Deploy method: SSH-based Docker compose pull-and-restart.
  • Operator command: ssh dps@20.90.115.254 "cd /opt/dps && sudo docker compose pull dps-server-app && sudo docker compose up -d dps-server-app".
  • Environment file: /opt/dps/.env on the VM (managed via tools/bootstrap-server.sh).
  • Nginx + SSL: managed by Certbot for *.platform.duabalabs.com wildcard.

dps-dashboard

  • Deploy: Vercel (auto on push to main of the dps-dashboard repo).
  • Env vars: NEXT_PUBLIC_PARSE_APP_ID, NEXT_PUBLIC_PARSE_SERVER_URL, NEXTAUTH_URL, NEXTAUTH_SECRET, plus OAuth provider creds.

Tenant instances

  • Provisioned through dps_createParseInstance etc. — see API Reference.
  • Each gets a dedicated container, MongoDB database, and dynamic port.
  • Nginx is reconfigured per-tenant via the SSH deployer.

Logs and diagnostics

  • dps-server logs: ssh dps@20.90.115.254 "sudo docker logs dps-server-app --tail 200".
  • Tenant logs: Surfaced through the dashboard via dps_getInstanceLogs (Docker logs of the tenant container).
  • Metrics: dps_getAppMetrics returns real docker stats output, plus Parse _User and _Session counts for parse-server type.

Backup strategy

ResourceFrequencyMechanism
dps-server MongoDBDailymongodump via cron on the VM
Tenant MongoDB (Pro tier)Dailydps_createMongoBackup (Docker exec)
Tenant Postgres (Pro tier, sellub)Dailydps_createPostgresBackup (Docker exec, gzip)
Tenant MongoDB (Enterprise)HourlySame mechanism, scheduled hourly

Operator runbook

See the umbrella Infrastructure page for VM bootstrap, swarm topology, ACR / GHCR access, DNS, and shared secrets management.