deploy-railway
Deploy applications to Railway. Use when deploying services, databases, or full-stack applications to Railway PaaS. Covers Railway CLI and configuration.
When & Why to Use This Skill
This Claude skill facilitates seamless application deployment and management on the Railway PaaS (Platform as a Service). It automates complex DevOps tasks by leveraging the Railway CLI to handle service initialization, Nixpacks-based builds, environment variable configuration, and database provisioning. By integrating zero-config deployments and automatic HTTPS, it enables developers to move from local development to production-ready cloud infrastructure with minimal friction.
Use Cases
- Deploying full-stack applications and services with automatic framework detection and zero-configuration setups.
- Provisioning and connecting managed databases like PostgreSQL and Redis directly through the CLI.
- Managing environment-specific variables and secrets securely across development, staging, and production environments.
- Setting up preview environments to test pull requests and new features in an isolated, production-like setting.
- Monitoring application health and troubleshooting deployment issues using real-time logs and service status tracking.
| 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