Files
Connect-5/PRODUCTION_DEPLOYMENT_STEPS.txt

184 lines
5.5 KiB
Plaintext

===============================================================================
PRODUCTION DEPLOYMENT INSTRUCTIONS - PostgreSQL Migration
===============================================================================
Git changes have been pushed. Since you have auto-pull set up, follow these
steps on your PRODUCTION SERVER to complete the migration:
===============================================================================
STEP 1: After Git Auto-Pull Completes
===============================================================================
SSH into your production server and navigate to the Connect-5 directory.
===============================================================================
STEP 2: Install New Dependencies
===============================================================================
npm install
This will:
- Remove @supabase/supabase-js
- Install pg (PostgreSQL driver)
===============================================================================
STEP 3: Create db.config.js with PostgreSQL Credentials
===============================================================================
IMPORTANT: You need to create db.config.js on the production server.
Option A - Using the example file:
-----------------------------------
cp db.config.example.js db.config.js
nano db.config.js
Then edit with your PostgreSQL credentials:
{
HOST: '202.171.184.108',
USER: 'postgres',
PASSWORD: 'X@gon2005!#$',
DB: 'connect5',
dialect: 'postgres',
pool: { max: 5, min: 0, acquire: 30000, idle: 10000 }
}
Option B - Quick create (copy/paste this entire block):
--------------------------------------------------------
cat > db.config.js << 'EOF'
module.exports = {
HOST: '202.171.184.108',
USER: 'postgres',
PASSWORD: 'X@gon2005!#$',
DB: 'connect5',
dialect: 'postgres',
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
}
};
EOF
===============================================================================
STEP 4: Apply Database Schema (if not already done)
===============================================================================
Run the schema application script:
node apply-schema.js
Expected output:
✅ Schema applied successfully!
✅ Found 4 tables: active_sessions, game_moves, games, players
If you see errors about tables already existing, that's fine - skip this step.
===============================================================================
STEP 5: Restart the Node.js Service
===============================================================================
Depending on how you're running the server:
Option A - If using PM2:
------------------------
pm2 restart connect5
# OR
pm2 restart server.js
# OR
pm2 restart all
Option B - If using nohup:
--------------------------
pkill -f "node server.js"
sleep 2
nohup node server.js > server.log 2>&1 &
Option C - If using systemd service:
------------------------------------
sudo systemctl restart connect5
# OR
sudo systemctl restart connect5.service
Option D - Not sure what's running it?
--------------------------------------
# Check what's running
ps aux | grep "node server.js"
# Kill the process (replace PID with actual process ID)
kill -9 PID
# Start it again
nohup node server.js > server.log 2>&1 &
===============================================================================
STEP 6: Verify the Service is Running
===============================================================================
Check if the server started successfully:
# View the logs
tail -f server.log
Expected output:
🔄 Initializing PostgreSQL database schema...
✅ Database schema verified successfully
🌐 Server running on port 3000
📡 WebSocket server ready
🗄️ Database connected
# Test the API endpoint
curl http://localhost:3000/api/db-status
Expected response:
{
"connected": true,
"latency": 10,
"writeCapable": true,
"connectionType": "PostgreSQL Direct Connection",
"host": "202.171.184.108",
"database": "connect5"
}
===============================================================================
STEP 7: Test the Production URL
===============================================================================
Visit your production URL (e.g., https://connect5.beyondcloud.technology/)
Verify:
✅ Page loads correctly
✅ Status bar shows "Connected" in green
✅ Latency is displayed
✅ "Write: Enabled" shows in green
✅ Multiplayer functionality works
===============================================================================
SUMMARY OF SERVICES TO RESTART
===============================================================================
You need to restart:
✅ Node.js service (server.js) - This is the ONLY service that needs restarting
You DO NOT need to restart:
❌ Nginx/Apache (web server) - No changes to proxy config
❌ PostgreSQL - Database server continues running
❌ The production server itself
===============================================================================
TROUBLESHOOTING
===============================================================================
If the service won't start:
1. Check db.config.js exists and has correct credentials
2. Check logs: tail -f server.log
3. Test database connection: node apply-schema.js
4. Ensure PostgreSQL is accessible from production server
Common issues:
- "Cannot find module './db.config.js'" → Create db.config.js (Step 3)
- "Table 'players' does not exist" → Run apply-schema.js (Step 4)
- "ECONNREFUSED" → Check PostgreSQL firewall/network access
===============================================================================