Deploy: Migrate to Gitea Actions, update paths for turbotrades.dev
Some checks failed
Deploy to Production / Deploy to turbotrades.dev (push) Has been cancelled
Some checks failed
Deploy to Production / Deploy to turbotrades.dev (push) Has been cancelled
This commit is contained in:
371
DEPLOY_SUMMARY.md
Normal file
371
DEPLOY_SUMMARY.md
Normal file
@@ -0,0 +1,371 @@
|
||||
# 🚀 TurboTrades - Deployment Summary
|
||||
|
||||
**Date:** January 10, 2026
|
||||
**Status:** ✅ Ready for Deployment
|
||||
**Repository:** https://git.turbotrades.dev/iDefineHD/TurboTrades.git
|
||||
|
||||
---
|
||||
|
||||
## 📋 Configuration Overview
|
||||
|
||||
### Domain Setup
|
||||
- **Frontend:** https://turbotrades.dev
|
||||
- **Backend API:** https://api.turbotrades.dev
|
||||
- **WebSocket:** https://ws.turbotrades.dev
|
||||
|
||||
### Server Paths
|
||||
- **Backend Code:** `/root/ttbackend`
|
||||
- **Frontend Build:** `/var/www/html/turbotrades`
|
||||
- **Nginx Config:** Already configured ✅
|
||||
- **SSL Certificates:** Already configured ✅
|
||||
|
||||
### PM2 Configuration
|
||||
- **App Name:** `turbotrades-backend`
|
||||
- **Port:** 3000
|
||||
- **Mode:** Cluster
|
||||
- **Auto-restart:** Enabled
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Quick Start
|
||||
|
||||
### Deploy to Production
|
||||
|
||||
```bash
|
||||
# 1. SSH to server
|
||||
ssh root@turbotrades.dev
|
||||
|
||||
# 2. Initial setup (first time only)
|
||||
cd /root/ttbackend
|
||||
git clone https://git.turbotrades.dev/iDefineHD/TurboTrades.git .
|
||||
|
||||
# 3. Deploy
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
### Push Changes from Local
|
||||
|
||||
```bash
|
||||
# Option 1: Use helper script
|
||||
./push.sh
|
||||
|
||||
# Option 2: Manual
|
||||
git add .
|
||||
git commit -m "Your changes"
|
||||
git push origin main
|
||||
|
||||
# Then SSH and deploy
|
||||
ssh root@turbotrades.dev
|
||||
cd /root/ttbackend
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 Files Created for Deployment
|
||||
|
||||
### Deployment Scripts
|
||||
- ✅ `deploy.sh` - Main deployment script
|
||||
- ✅ `push.sh` - Quick commit and push helper
|
||||
- ✅ `ecosystem.config.js` - PM2 configuration (updated)
|
||||
|
||||
### Configuration
|
||||
- ✅ `nginx-config/turbotrades.conf` - Nginx configuration example
|
||||
- ✅ `.github/workflows/deploy.yml` - Gitea Actions workflow
|
||||
|
||||
### Documentation
|
||||
- ✅ `DEPLOY.md` - Simple deployment guide
|
||||
- ✅ `GITEA_DEPLOY.md` - Complete deployment documentation
|
||||
- ✅ `DEPLOY_SUMMARY.md` - This file
|
||||
|
||||
---
|
||||
|
||||
## 🔧 What Was Updated
|
||||
|
||||
### Repository Configuration
|
||||
- ✅ Git remote updated to Gitea: `https://git.turbotrades.dev/iDefineHD/TurboTrades.git`
|
||||
- ✅ All documentation updated with Gitea URLs
|
||||
- ✅ Removed all tunnel-related files and scripts
|
||||
|
||||
### Backend Configuration (`ecosystem.config.js`)
|
||||
```javascript
|
||||
{
|
||||
name: "turbotrades-backend",
|
||||
cwd: "/root/ttbackend",
|
||||
env: {
|
||||
FRONTEND_URL: "https://turbotrades.dev",
|
||||
BACKEND_URL: "https://api.turbotrades.dev",
|
||||
WS_URL: "https://ws.turbotrades.dev"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Frontend Configuration
|
||||
- ✅ WebSocket connects to `wss://ws.turbotrades.dev` in production
|
||||
- ✅ API calls go to `https://api.turbotrades.dev`
|
||||
- ✅ Vite proxy configured for local development
|
||||
|
||||
### Deployment Workflow
|
||||
```
|
||||
Local Changes → Git Push → SSH to Server → Run deploy.sh → Live! 🎉
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📦 deploy.sh Script Actions
|
||||
|
||||
The deployment script automatically:
|
||||
|
||||
1. ⏸️ **Stops** backend (PM2)
|
||||
2. 💾 **Creates** backup of current version
|
||||
3. 📥 **Pulls** latest code from Gitea
|
||||
4. 📦 **Installs** backend dependencies (`npm ci --production`)
|
||||
5. 🎨 **Builds** frontend (`npm run build`)
|
||||
6. 🚀 **Deploys** frontend to `/var/www/html/turbotrades`
|
||||
7. 🔒 **Sets** proper permissions (www-data:www-data)
|
||||
8. ▶️ **Restarts** backend with PM2
|
||||
9. 💾 **Saves** PM2 configuration
|
||||
10. ✅ **Runs** health checks
|
||||
|
||||
**Deployment Time:** ~2-3 minutes
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Environment Variables Required
|
||||
|
||||
Create `/root/ttbackend/.env` with:
|
||||
|
||||
```env
|
||||
# Application
|
||||
NODE_ENV=production
|
||||
PORT=3000
|
||||
|
||||
# URLs
|
||||
FRONTEND_URL=https://turbotrades.dev
|
||||
BACKEND_URL=https://api.turbotrades.dev
|
||||
WS_URL=https://ws.turbotrades.dev
|
||||
|
||||
# Database
|
||||
MONGODB_URI=mongodb://localhost:27017/turbotrades
|
||||
|
||||
# Security
|
||||
JWT_SECRET=your-super-secret-jwt-key
|
||||
REFRESH_TOKEN_SECRET=your-refresh-token-secret
|
||||
SESSION_SECRET=your-session-secret
|
||||
|
||||
# Steam OAuth
|
||||
STEAM_API_KEY=your-steam-api-key
|
||||
STEAM_REALM=https://turbotrades.dev
|
||||
STEAM_RETURN_URL=https://api.turbotrades.dev/auth/steam/return
|
||||
|
||||
# Email (optional)
|
||||
SMTP_HOST=smtp.example.com
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=your-email@example.com
|
||||
SMTP_PASS=your-password
|
||||
SMTP_FROM=noreply@turbotrades.dev
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Monitoring Commands
|
||||
|
||||
### PM2 Status
|
||||
```bash
|
||||
pm2 list # List all processes
|
||||
pm2 logs turbotrades-backend # View logs
|
||||
pm2 monit # Monitor resources
|
||||
pm2 restart turbotrades-backend # Restart backend
|
||||
```
|
||||
|
||||
### Health Checks
|
||||
```bash
|
||||
curl https://api.turbotrades.dev/api/health # Backend API
|
||||
curl https://turbotrades.dev # Frontend
|
||||
```
|
||||
|
||||
### Nginx Logs
|
||||
```bash
|
||||
tail -f /var/log/nginx/turbotrades-error.log
|
||||
tail -f /var/log/nginx/api-turbotrades-error.log
|
||||
tail -f /var/log/nginx/ws-turbotrades-error.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Common Issues & Fixes
|
||||
|
||||
### Backend Won't Start
|
||||
```bash
|
||||
pm2 logs turbotrades-backend # Check logs
|
||||
systemctl status mongod # Check MongoDB
|
||||
pm2 restart turbotrades-backend # Force restart
|
||||
```
|
||||
|
||||
### Frontend 404
|
||||
```bash
|
||||
ls -la /var/www/html/turbotrades/ # Check files exist
|
||||
chown -R www-data:www-data /var/www/html/turbotrades # Fix permissions
|
||||
```
|
||||
|
||||
### 502 Bad Gateway
|
||||
```bash
|
||||
pm2 restart turbotrades-backend # Backend probably down
|
||||
netstat -tulpn | grep 3000 # Check if port 3000 is listening
|
||||
```
|
||||
|
||||
### WebSocket Won't Connect
|
||||
```bash
|
||||
# Check WebSocket domain is correct in frontend
|
||||
# Should be: wss://ws.turbotrades.dev
|
||||
pm2 logs turbotrades-backend # Check backend logs
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Deployment Workflow Examples
|
||||
|
||||
### Regular Update
|
||||
```bash
|
||||
# Local machine
|
||||
git add .
|
||||
git commit -m "Update feature X"
|
||||
git push origin main
|
||||
|
||||
# Server
|
||||
ssh root@turbotrades.dev
|
||||
cd /root/ttbackend
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
### Hotfix
|
||||
```bash
|
||||
# Local machine
|
||||
git add .
|
||||
git commit -m "Hotfix: Critical bug"
|
||||
git push origin main
|
||||
|
||||
# Server
|
||||
ssh root@turbotrades.dev
|
||||
cd /root/ttbackend
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
### Frontend Only Update
|
||||
```bash
|
||||
# Server
|
||||
ssh root@turbotrades.dev
|
||||
cd /root/ttbackend
|
||||
git pull origin main
|
||||
cd frontend && npm ci && npm run build
|
||||
rm -rf /var/www/html/turbotrades/*
|
||||
cp -r dist/* /var/www/html/turbotrades/
|
||||
chown -R www-data:www-data /var/www/html/turbotrades
|
||||
```
|
||||
|
||||
### Backend Only Update
|
||||
```bash
|
||||
# Server
|
||||
ssh root@turbotrades.dev
|
||||
cd /root/ttbackend
|
||||
git pull origin main
|
||||
npm ci --production
|
||||
pm2 restart turbotrades-backend
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚨 Emergency Rollback
|
||||
|
||||
```bash
|
||||
ssh root@turbotrades.dev
|
||||
pm2 stop turbotrades-backend
|
||||
|
||||
# List backups
|
||||
ls -lt /root/ | grep ttbackend-backup
|
||||
|
||||
# Restore
|
||||
cd /root
|
||||
rm -rf ttbackend
|
||||
cp -r ttbackend-backup-YYYYMMDD-HHMMSS ttbackend
|
||||
cd ttbackend
|
||||
pm2 restart turbotrades-backend
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Pre-Deployment Checklist
|
||||
|
||||
- [x] Git remote configured to Gitea
|
||||
- [x] Tunnel infrastructure removed
|
||||
- [x] Deployment scripts created and executable
|
||||
- [x] PM2 ecosystem config updated
|
||||
- [x] Frontend WebSocket configured for production
|
||||
- [x] Nginx configuration ready
|
||||
- [x] Domain structure documented
|
||||
- [x] Server paths configured
|
||||
|
||||
### Before First Deployment
|
||||
- [ ] Server prerequisites installed (Node.js, PM2, MongoDB, Nginx)
|
||||
- [ ] Directories created (`/root/ttbackend`, `/var/www/html/turbotrades`)
|
||||
- [ ] Nginx configuration deployed
|
||||
- [ ] SSL certificates configured
|
||||
- [ ] `.env` file created with proper secrets
|
||||
- [ ] MongoDB running and accessible
|
||||
- [ ] Repository cloned to `/root/ttbackend`
|
||||
|
||||
### Before Each Deployment
|
||||
- [ ] Code tested locally
|
||||
- [ ] Environment variables updated if needed
|
||||
- [ ] Database migrations prepared (if any)
|
||||
- [ ] Team notified of deployment
|
||||
- [ ] Backup created (deploy.sh does this automatically)
|
||||
|
||||
---
|
||||
|
||||
## 🎉 Ready to Deploy!
|
||||
|
||||
Everything is configured and ready. To deploy:
|
||||
|
||||
```bash
|
||||
# 1. Push your changes
|
||||
git add .
|
||||
git commit -m "Ready for production"
|
||||
git push origin main
|
||||
|
||||
# 2. Deploy to server
|
||||
ssh root@turbotrades.dev
|
||||
cd /root/ttbackend
|
||||
git pull origin main
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
**Your site will be live at:**
|
||||
- 🌐 https://turbotrades.dev
|
||||
- 🔧 https://api.turbotrades.dev
|
||||
- 💬 https://ws.turbotrades.dev
|
||||
|
||||
---
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
- **Quick Deploy:** `DEPLOY.md`
|
||||
- **Complete Guide:** `GITEA_DEPLOY.md`
|
||||
- **Nginx Config:** `nginx-config/turbotrades.conf`
|
||||
- **PM2 Config:** `ecosystem.config.js`
|
||||
|
||||
---
|
||||
|
||||
## 🆘 Support
|
||||
|
||||
If you encounter issues:
|
||||
1. Check the logs: `pm2 logs turbotrades-backend`
|
||||
2. Check nginx logs: `tail -f /var/log/nginx/api-turbotrades-error.log`
|
||||
3. Review documentation in `DEPLOY.md` or `GITEA_DEPLOY.md`
|
||||
4. Check health endpoints with curl
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** January 10, 2026
|
||||
**Status:** ✅ Ready for Production Deployment
|
||||
**Next Step:** SSH to server and run `./deploy.sh`
|
||||
Reference in New Issue
Block a user