1. Create 2 servers
  2. Add node, nginx, pnpm to both servers
# Add node

# Step : 1
curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh> | bash

# Step 2 :
source ~/.bashrc

# Step 3 :
nvm install --lts

# Add nginx
sudo apt update
sudo apt install nginx

# Add pnpm 
npm install -g pnpm
  1. Clone monorepo to both servers
  2. Get dev DATABASE_URL & prod DATABASE_URL
  3. Copy the URL to cd packages/prisma & cd apps/web ( vi .env)
npx prisma migrate dev

6 Build monorepo

pnpm run build ( Globally )
  1. Start 3 processes ( next, ws, http ) using pm2
# Install pm2 ( process manager )
npm install -g pm2

pm2 start npm --name "http-server" -- start
pm2 start npm --name "ws-server" -- start
pm2 start npm --name "fe-server" -- start
  1. Point out domain names to respective servers
# Open port ( 3000, 30001 , 30002 ) by changing inbound rules in Security Groups

# Add DNS subdomains to your domain 

image.png