🎯

railway

🎯Skill

from hoodini/ai-agents-skills

VibeIndex|
What it does

Deploys and manages containerized applications, databases, and services on the Railway platform with easy CLI and configuration options.

πŸ“¦

Part of

hoodini/ai-agents-skills(24 items)

railway

Installation

git cloneClone repository
git clone https://github.com/yuval-avidani/ai-agents-skills.git
πŸ“– Extracted from docs: hoodini/ai-agents-skills
12Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Deploy applications on Railway platform. Use when deploying containerized apps, setting up databases, configuring private networking, or managing Railway projects. Triggers on Railway, railway.app, deploy container, Railway database.

Overview

# Railway Deployment

Deploy and manage applications on Railway's platform.

Quick Start

```bash

# Install Railway CLI

npm i -g @railway/cli

# Login

railway login

# Initialize project

railway init

# Deploy

railway up

```

railway.toml Configuration

```toml

[build]

builder = "nixpacks"

buildCommand = "npm run build"

[deploy]

startCommand = "npm start"

healthcheckPath = "/health"

healthcheckTimeout = 300

restartPolicyType = "on_failure"

restartPolicyMaxRetries = 3

[service]

internalPort = 3000

```

Nixpacks Configuration

```toml

# nixpacks.toml

[phases.setup]

nixPkgs = ["nodejs-18_x", "python311"]

[phases.install]

cmds = ["npm ci"]

[phases.build]

cmds = ["npm run build"]

[start]

cmd = "npm start"

```

Environment Variables

```bash

# Set variable

railway variables set DATABASE_URL="postgres://..."

# Set from file

railway variables set < .env

# Link to service

railway service

railway variables set API_KEY="secret"

```

Database Services

PostgreSQL

```bash

# Add PostgreSQL

railway add -d postgres

# Get connection string

railway variables get DATABASE_URL

```

Redis

```bash

railway add -d redis

# Access via REDIS_URL

```

MySQL

```bash

railway add -d mysql

# Access via MYSQL_URL

```

Private Networking

```yaml

# Services can communicate via internal DNS

# Format: ${{service-name}}.railway.internal

# Example: API calling database service

DATABASE_HOST: ${{postgres.railway.internal}}

DATABASE_PORT: 5432

```

Volumes (Persistent Storage)

```bash

# Create volume

railway volume create my-data

# Mount in service

railway volume attach my-data:/app/data

```

In code:

```javascript

// Data persists across deploys

const dataPath = '/app/data';

fs.writeFileSync(${dataPath}/file.json, JSON.stringify(data));

```

Cron Jobs

```toml

# railway.toml

[deploy]

startCommand = "node cron.js"

cronSchedule = "0 /6 " # Every 6 hours

```

Multi-Service Setup

```

my-project/

β”œβ”€β”€ api/

β”‚ β”œβ”€β”€ railway.toml

β”‚ └── ...

β”œβ”€β”€ worker/

β”‚ β”œβ”€β”€ railway.toml

β”‚ └── ...

└── frontend/

β”œβ”€β”€ railway.toml

└── ...

```

Deploy each:

```bash

cd api && railway up

cd ../worker && railway up

cd ../frontend && railway up

```

Dockerfile Deploy

```dockerfile

FROM node:18-alpine

WORKDIR /app

COPY package*.json ./

RUN npm ci --only=production

COPY . .

EXPOSE 3000

CMD ["npm", "start"]

```

```toml

# railway.toml

[build]

builder = "dockerfile"

dockerfilePath = "./Dockerfile"

```

Health Checks

```typescript

// Express health endpoint

app.get('/health', (req, res) => {

res.status(200).json({

status: 'healthy',

timestamp: new Date().toISOString()

});

});

```

```toml

# railway.toml

[deploy]

healthcheckPath = "/health"

healthcheckTimeout = 100

```

Resources

  • Railway Docs: https://docs.railway.app
  • Railway CLI: https://docs.railway.app/develop/cli