mirror of
https://github.com/DeNNiiInc/Connect-5.git
synced 2026-04-17 22:46:00 +00:00
- Created deploy-cloudsticks.sh for CloudSticks environment - Works with systemd, PM2, or direct node execution - Added CLOUDSTICKS_DEPLOY.md with specific instructions - Handles case where PM2 is not installed
3.6 KiB
3.6 KiB
CloudSticks Deployment Guide
Quick Setup (No PM2 Required)
Since CloudSticks auto-deploys from GitHub, you only need to set up the database config and ensure the server is running.
Option 1: Use the CloudSticks Deployment Script
cd /home/github2/apps/app-connect5
chmod +x deploy-cloudsticks.sh
./deploy-cloudsticks.sh
This will:
- ✅ Install dependencies
- ✅ Create
db.config.jswith Supabase credentials - ✅ Attempt to restart the server (systemd or PM2 if available)
- ✅ Test the API endpoint
Option 2: Manual Setup
If you prefer manual setup:
cd /home/github2/apps/app-connect5
# Install dependencies
npm install
# Create db.config.js
cat > db.config.js << 'EOF'
module.exports = {
supabaseUrl: 'https://wxtirlphaphwbrgsjyop.supabase.co',
supabaseAnonKey: 'sb_publishable_Onh4nNYCV99d2eGidQIpqA_9PBkY8zs',
supabasePassword: 't1hWsackxbYzRIPD',
postgresConnectionString: 'postgresql://postgres:t1hWsackxbYzRIPD@db.wxtirlphaphwbrgsjyop.supabase.co:5432/postgres'
};
EOF
# Check if server is running
ps aux | grep "node server.js"
# If not running, start it
nohup node server.js > server.log 2>&1 &
# Or if CloudSticks uses systemd:
sudo systemctl restart connect5
Verify Deployment
1. Check if Node.js is Running
ps aux | grep node
Should show node server.js running
2. Test API Locally
curl http://localhost:3000/api/db-status
Should return JSON with "connected": true
3. Test in Browser
Visit: https://connect5.beyondcloud.technology/
Check status bar shows:
- SQL: Connected ✅
- Latency: ~45ms
- Write: Enabled ✅
Troubleshooting
Server Not Running
Start the server:
cd /home/github2/apps/app-connect5
node server.js > server.log 2>&1 &
Check logs:
tail -f server.log
API Returns 404
Check Apache/Nginx proxy:
The web server needs to proxy /api/* and /socket.io/* to localhost:3000
For Apache, ensure you have:
ProxyPass /api http://localhost:3000/api
ProxyPassReverse /api http://localhost:3000/api
ProxyPass /socket.io http://localhost:3000/socket.io
ProxyPassReverse /socket.io http://localhost:3000/socket.io
Database Connection Fails
Verify credentials:
cat db.config.js
Test Supabase connection:
node -e "const {supabase} = require('./database'); supabase.from('players').select('id').limit(1).then(console.log).catch(console.error)"
CloudSticks-Specific Notes
- Auto-Deploy: CloudSticks automatically pulls from GitHub when you push
- No PM2: CloudSticks may not have PM2 installed - use systemd or direct node
- Logs: Check
server.logfor application logs - Restart: After code changes, restart the Node.js process
Keep Server Running
Option 1: Using nohup (Simple)
nohup node server.js > server.log 2>&1 &
Option 2: Using systemd (Recommended)
Create /etc/systemd/system/connect5.service:
[Unit]
Description=Connect-5 Multiplayer Server
After=network.target
[Service]
Type=simple
User=github2
WorkingDirectory=/home/github2/apps/app-connect5
ExecStart=/usr/bin/node server.js
Restart=always
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl enable connect5
sudo systemctl start connect5
sudo systemctl status connect5
Future Updates
When you push to GitHub:
- CloudSticks auto-deploys the code
- Run:
./deploy-cloudsticks.sh(or restart server manually) - Verify at https://connect5.beyondcloud.technology/