Deployment Overview
RushChat deployment solutions overview.
Deployment Solutions Overview
Recommended Deployment Solutions
Backend Deployment
- Railway - Recommended, simple and easy
- Fly.io - Supports Rust, good performance
- Hetzner - Self-hosted, cost-effective
- AWS/GCP/Azure - Enterprise-grade, feature-rich
Frontend Deployment
- Vercel - Recommended, auto deployment
- Netlify - Similar to Vercel
- Cloudflare Pages - Global CDN
- GitHub Pages - Free static hosting
Database
- Railway MySQL - Deploy with backend
- PlanetScale - Serverless MySQL
- Supabase - PostgreSQL (requires migration)
- Self-hosted MySQL - Full control
Deployment Architecture
┌─────────────────┐
│ Vercel (Frontend)│
│ React App │
└────────┬────────┘
│ HTTPS
│
┌────────▼────────┐
│ Railway (Backend)│
│ Rust Server │
└────────┬────────┘
│
┌────────▼────────┐
│ Railway MySQL │
│ Database │
└─────────────────┘
Deployment Steps
1. Prepare Environment
- Ensure code is pushed to GitHub
- Prepare environment variables
- Prepare database
2. Deploy Backend
- Create Railway project
- Configure environment variables
- Deploy Rust service
3. Deploy Frontend
- Create Vercel project
- Configure environment variables
- Deploy React application
4. Configure Domain
- Configure backend domain
- Configure frontend domain
- Update CORS settings
Environment Variables
Backend Environment Variables
DB_HOST=...
DB_PORT=3306
DB_USER=...
DB_PASSWORD=...
DB_NAME=rushchat
PORT=5001
NODE_ENV=production
CLIENT_URL=https://your-frontend.vercel.app
MAIN_DOMAIN=your-domain.com
Frontend Environment Variables
REACT_APP_API_URL=https://your-backend.railway.app
REACT_APP_SOCKET_URL=https://your-backend.railway.app