| name | deploy-railway |
| description | Deploy applications to Railway. Use when deploying services, databases, or full-stack applications to Railway PaaS. Covers Railway CLI and configuration. |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep |
Deploy to Railway
Why Railway?
- Zero config deployments
- Automatic HTTPS
- Built-in databases
- Environment management
- Preview environments
Quick Start
# Install CLI
npm install -g @railway/cli
# Login
railway login
# Initialize project
railway init
# Deploy
railway up
Configuration
railway.json
{
"build": {
"builder": "NIXPACKS"
},
"deploy": {
"startCommand": "npm start",
"healthcheckPath": "/health",
"restartPolicyType": "ON_FAILURE"
}
}
Environment Variables
# Set variable
railway variables set DATABASE_URL=postgres://...
# Set from file
railway variables set < .env.production
Database Setup
# Add PostgreSQL
railway add --database postgres
# Get connection URL
railway variables get DATABASE_URL
Deployment Workflow
1. Connect Repo
railway link
2. Configure Build
Railway auto-detects most frameworks. Override with:
# Nixpacks (default)
railway up
# Dockerfile
railway up --dockerfile
3. Set Domain
railway domain
Best Practices
- Use Preview Environments: Test PRs before merge
- Separate Databases: Different DB per environment
- Use Variables: Never hardcode secrets
- Health Checks: Enable for reliability
- Logs: Use
railway logsfor debugging
Common Commands
# View logs
railway logs
# Open dashboard
railway open
# Run command in environment
railway run npm run migrate
# List services
railway status