You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Railway is a cloud deployment platform that emphasizes simplicity and developer experience. The IA is built around a unique project canvas model — each project is a visual canvas where services (apps, databases, cron jobs) appear as connected cards that can be arranged spatially. This canvas metaphor differentiates Railway from traditional dashboard-based platforms (Heroku, Render): you can visually see your infrastructure topology. Each service card on the canvas links to logs, deployments, variables, and settings. Railway supports deploying from GitHub, Docker, or templates, and includes managed databases (Postgres, Redis, MySQL, MongoDB) as first-class canvas objects.
Named deployment context (production, staging, etc.) with independent variables and service instances
Part of project
Variable
Key-value pair, scoped to service + environment, supports references (${{service.VAR}})
Part of service
Volume
Persistent storage attached to a service, mount path, size
Part of service
Template
Pre-configured project blueprint with services, variables, and deployment instructions
Community/Railway
Database Service
Managed Postgres/Redis/MySQL/MongoDB as a canvas service with connection string
Part of project
User Flows
Deploying from GitHub
Clicks "New Project" → "Deploy from GitHub Repo" → Connects GitHub → selects repository → Railway auto-detects language/framework → configures build (Nixpacks) → Service appears as a card on the project canvas → Deployment starts automatically → build + deploy logs stream in real-time → Public URL generated (or custom domain configurable) → Subsequent pushes to the configured branch trigger automatic deploys
Adding a Database
On the project canvas → right-click or "New" → "Database" → Selects database type (Postgres, Redis, MySQL, MongoDB) → Database service appears as a card on the canvas → Connection string auto-populated as variable → reference from app service using `${{Postgres.DATABASE_URL}}` → Database is accessible immediately — no configuration needed
Multi-Environment Workflow
Creates environments (production, staging, development) in Project Settings → Each environment has independent service deployments and variables → Environment selector in top bar switches the canvas view → Deploy to staging first → test → promote to production → Variables can differ per environment (different API keys, database URLs)
Template Deployment
Browses template gallery (e.g., "Next.js + Postgres + Redis") → Clicks "Deploy" → configures variables (API keys, secrets) → Railway provisions all services defined in the template → Canvas shows the complete topology with connected services → Customizes by connecting their own GitHub repo
URL / Route Structure
Pattern
Description
/
Marketing home
/dashboard
Projects list
/project/{uuid}
Project canvas
/project/{uuid}/service/{uuid}
Service detail
/project/{uuid}/service/{uuid}/deployments/{uuid}
Deployment logs
/project/{uuid}/service/{uuid}/variables
Variables
/project/{uuid}/service/{uuid}/metrics
Metrics
/project/{uuid}/settings
Project settings
/templates
Template gallery
/templates/{slug}
Template detail
/account/*
Account settings
/docs/*
Documentation
UUIDs for projects, services, and deployments. Templates use slugs.
Search & Filter
Project search: Search projects by name on dashboard