Production VM Deployment Guide

Instructions for deploying SMSPort to the Google Cloud VM production instance (purjilagao-insatnce).


Deployment Architecture

  • Frontend: Next.js 15 SSR running on port 3000.
  • Backend API: NestJS 11 running on port 4000.
  • PostgreSQL: Port 5432 with automated TypeORM migrations.
  • Redis: Port 6379 for BullMQ queues and SSE presence.
  • Reverse Proxy: Nginx handling HTTPS (Let's Encrypt SSL) and WebSocket/SSE proxy buffering.

Zero-Downtime Deployment Workflow

SMSPort uses vm_deployer and git archive to package and deploy changes:

# 1. Commit all changes locally
git add .
git commit -m "feat(docs): integrate universal documentation and codex metadata"

# 2. Deploy via the deployer script or agent
./deploy-all.sh

Build Verification Commands

Before triggering a production deployment, verify both frontend and backend locally:

# Verify Backend
cd services/smsport-api && npm run build

# Verify Frontend
cd apps/smsport-web && npm run build