railway-deployment
About
This Claude Skill manages Railway deployments for lifecycle operations and troubleshooting. It enables developers to view logs, redeploy, restart, or remove deployments through Railway CLI commands. Use it for deployment visibility and debugging, but note that deleting services requires the railway-environment skill instead.
Documentation
Railway Deployment Management
Manage existing Railway deployments: list, view logs, redeploy, or remove.
Important: "Remove deployment" (railway down) stops the current deployment but keeps the service. To delete a service entirely, use the railway-environment skill with isDeleted: true.
When to Use
- User says "remove deploy", "take down service", "stop deployment", "railway down"
- User wants to "redeploy", "restart the service", "restart deployment"
- User asks to "list deployments", "show deployment history", "deployment status"
- User asks to "see logs", "show logs", "check errors", "debug issues"
List Deployments
railway deployment list --limit 10 --json
Shows deployment IDs, statuses, and metadata. Use to find specific deployment IDs for logs or debugging.
Specify Service
railway deployment list --service backend --limit 10 --json
View Logs
Deploy Logs
railway logs --lines 100 --json
In non-interactive mode, streaming is auto-disabled and CLI fetches logs then exits.
Build Logs
railway logs --build --lines 100 --json
For debugging build failures or viewing build output.
Logs for Failed/In-Progress Deployments
By default railway logs shows the last successful deployment. Use --latest for current:
railway logs --latest --lines 100 --json
Filter Logs
# Errors only
railway logs --lines 50 --filter "@level:error" --json
# Text search
railway logs --lines 50 --filter "connection refused" --json
# Combined
railway logs --lines 50 --filter "@level:error AND timeout" --json
Time-Based Filtering
# Logs from last hour
railway logs --since 1h --lines 100 --json
# Logs between 30 and 10 minutes ago
railway logs --since 30m --until 10m --lines 100 --json
# Logs from specific timestamp
railway logs --since 2024-01-15T10:00:00Z --lines 100 --json
Formats: relative (30s, 5m, 2h, 1d, 1w) or ISO 8601 timestamps.
Logs from Specific Deployment
Deploy logs:
railway logs <deployment-id> --lines 100 --json
Build logs:
railway logs --build <deployment-id> --lines 100 --json
Get deployment ID from railway deployment list.
Note: The deployment ID is a positional argument, NOT --deployment <id>. The --deployment flag is a boolean that selects deploy logs (vs --build for build logs).
Redeploy
Redeploy the most recent deployment:
railway redeploy --service <name> -y
The -y flag skips confirmation. Useful when:
- Config changed via railway-environment skill
- Need to restart without new code
- Previous deploy succeeded but service misbehaving
Restart Container Only
Restart without rebuilding (picks up external resource changes):
railway restart --service <name> -y
Use when external resources (S3 files, config maps) changed but code didn't.
Remove Deployment
Takes down the current deployment. The service remains but has no running deployment.
# Remove deployment for linked service
railway down -y
# Remove deployment for specific service
railway down --service web -y
railway down --service api -y
This is what users mean when they say "remove deploy", "take down", or "stop the deployment".
Note: This does NOT delete the service. To delete a service entirely, use the railway-environment skill with isDeleted: true.
CLI Options
deployment list
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-e, --environment <NAME> | Environment name or ID |
--limit <N> | Max deployments (default 20, max 1000) |
--json | JSON output |
logs
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-e, --environment <NAME> | Environment name or ID |
-d, --deployment | Show deploy logs (default, boolean flag) |
-b, --build | Show build logs (boolean flag) |
-n, --lines <N> | Number of lines (required) |
-f, --filter <QUERY> | Filter using query syntax |
--since <TIME> | Start time (relative or ISO 8601) |
--until <TIME> | End time (relative or ISO 8601) |
--latest | Most recent deployment (even if failed) |
--json | JSON output |
[DEPLOYMENT_ID] | Specific deployment (optional) |
redeploy
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-y, --yes | Skip confirmation |
restart
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-y, --yes | Skip confirmation |
down
| Flag | Description |
|---|---|
-s, --service <NAME> | Service name or ID |
-e, --environment <NAME> | Environment name or ID |
-y, --yes | Skip confirmation |
Presenting Logs
When showing logs:
- Include timestamps
- Highlight errors and warnings
- For build failures: show error and suggest fixes
- For runtime crashes: show stack trace context
- Summarize patterns (e.g., "15 timeout errors in last 100 logs")
Composability
- Push new code: Use railway-deploy skill
- Check service status: Use railway-status skill
- Fix config issues: Use railway-environment skill
- Create new service: Use railway-new skill
Error Handling
No Service Linked
No service linked. Run `railway service` to select one.
No Deployments Found
No deployments found. Deploy first with `railway up`.
No Logs Found
Deployment may be too old (log retention limits) or service hasn't produced output.
Quick Install
/plugin add https://github.com/davila7/claude-code-templates/tree/main/deploymentCopy and paste this command in Claude Code to install this skill
GitHub 仓库
Related Skills
railway-database
MetaThis skill adds official Railway database services (Postgres, Redis, MySQL, MongoDB) with pre-configured volumes and connection variables. Use it when developers request to add, connect, or wire up databases in their Railway projects. It specifically handles database services while directing other templates to the separate railway-templates skill.
railway-status
MetaThis skill checks the current deployment status and uptime of Railway projects in the current directory. It's triggered by queries like "railway status," "what's deployed," or questions about deployment status and uptime. Use the separate railway-environment skill for configuration or variable queries instead.
railway-new
MetaThis skill creates and configures Railway projects and services, handling both initial setup and adding services to existing projects. It triggers when users mention deployment, initialization, or GitHub linking to Railway. Use it for infrastructure scaffolding, but employ a separate skill specifically for database creation.
railway-domain
MetaThis Claude Skill manages domains for Railway services, allowing developers to add, view, or remove both Railway-provided and custom domains. It handles tasks like generating service URLs, checking current domains, and configuring DNS settings. The skill uses the railway-cli via Bash commands and is triggered when users ask about domain-related operations for their services.
