- Go to https://railway.app/dashboard
- Click "New Project"
- Select "Deploy from GitHub repo"
- Choose:
NateDevIO/revenue-intel-saas
Railway will auto-detect the configuration, but verify:
- Click on your service
- Settings tab:
- Root Directory:
backend - Start Command:
uvicorn api.main:app --host 0.0.0.0 --port $PORT
- Root Directory:
- Settings → Networking
- Click "Generate Domain"
- Copy the URL (e.g.,
https://revenue-intel-saas-production.up.railway.app)
If you want AI-powered customer insights:
- Get API key from: https://console.anthropic.com/
- Variables tab
- Add variable:
- Key:
ANTHROPIC_API_KEY - Value:
sk-ant-...
- Key:
Visit: https://your-backend.railway.app/api/health
Expected response:
{
"status": "ok",
"database": "connected",
"tables": 10,
"total_records": 60000
}Your backend is live. Use this URL for the Vercel frontend:
- Copy URL from Railway
- Add to Vercel as
NEXT_PUBLIC_API_URL
This repository includes:
- ✅
backend/Dockerfile- Container configuration - ✅
backend/railway.toml- Railway deployment settings - ✅
backend/.dockerignore- Build optimization
Railway will automatically use these files.
Build fails?
- Check Deployments → View Logs
- Common issue: Missing dependencies in
requirements.txt
Database empty?
- Dockerfile runs
python -m data.generatorautomatically - Check logs to verify completion
App crashes?
- Check that
PORTenvironment variable is used (Railway sets this automatically) - Verify
uvicornstarts on0.0.0.0:$PORT
- Deploy frontend to Vercel (see DEPLOYMENT.md)
- Connect frontend to Railway backend
- Set up custom domain (optional)
Questions? Check the full DEPLOYMENT.md guide.