| Docker containers | ✓ Supported A Dockerfile in the source repository is used automatically; any Docker image can be deployed. [1] | ✓ Supported Any service type can deploy from a Dockerfile; Docker is a first-class native option. [1] | ✓ Supported OCI images are the unit of deployment; Dockerfile, buildpacks, and prebuilt image builders available. [1] [2] | ✓ Supported Buildpacks and Dockerfiles both supported; a Dockerfile takes precedence when present. Images pullable from Docker Hub, DOCR, or GHCR. [1] [2] | ✓ Supported Container Registry deploys Docker images to both Common Runtime and Private Spaces. [1] [2] |
|---|
| Always-on services | ✓ Supported Persistent services are the core primitive: always-running containers for web apps, APIs, and queues. [1] | ✓ Supported Web Services are always-on HTTP services with health checks and auto-restart on failure. [1] | ✓ Supported Always-on Machines; smallest always-on app costs $2.19 per 30 days. [1] | ✓ Supported Always-on web service containers; up to 250 containers per app. [1] [2] | ✓ Supported Basic-tier and above dynos are always on; Eco web dynos sleep after 30 minutes without traffic. [1] [2] |
|---|
| Background workers | ✓ Supported Long-lived non-HTTP workers (e.g. Celery) deploy as regular services. [1] | ✓ Supported Dedicated Background Workers; same runtimes as web services, no inbound HTTP traffic. [1] | ✓ Supported Long-running non-HTTP workers are first-class; note autostop is invisible to background tasks, so follow the long-running-tasks blueprint. [1] | ✓ Supported Workers are the same as services except not routable. [1] | ✓ Supported Dedicated worker dyno process type; scale by adding worker dynos. [1] |
|---|
| WebSockets | ✓ Supported WebSockets over HTTP/1.1; connections are exempt from duration and inactivity limits and can stay open indefinitely. [1] | ✓ Supported [1] | ✓ Supported Work without extra configuration; proxy restarts and autostop close idle connections with 1012, so clients must reconnect. [1] | ? Not verified No WebSocket statement found on any reachable official page (product, pricing, features, limits, glossary checked); the old FAQ page now 404s. Needs verification against an official source. | ✓ Supported WebSocket functionality supported for all applications; router enforces a 30-second initial response window. [1] |
|---|
| Scheduled jobs (cron) | ✓ Supported Native Cron Jobs start a service on a crontab expression (minute granularity); overlapping runs are skipped, no auto-termination. [1] | ✓ Supported Cron Jobs run on dedicated instances; billed per minute with a $1/month minimum and a 12-hour maximum runtime per job. [1] | Conditional Built-in machine scheduling covers hourly/daily/weekly/monthly buckets only; sub-hourly cron requires a self-managed Cron Manager or Supercronic blueprint. [1] | ✓ Supported Scheduled jobs run on cron expressions with a 15-minute minimum interval; default job timeout 30 minutes; jobs billed only while running. [1] [2] | ✓ Supported Heroku Scheduler add-on (free) runs jobs every 10 minutes, hourly, or daily via one-off dynos that bill toward usage. [1] |
|---|
| Persistent storage | ✓ Supported Volumes provide persistent data with backups and live resize; IOPS capped at 3,000 read / 3,000 write. [1] | Conditional Persistent Disks on paid instance types only; a disk blocks horizontal scaling and zero-downtime deploys for that service. [1] | ✓ Supported Fly Volumes: max 500 GB, one volume per Machine, no automatic replication across volumes (provision at least two per app). [1] | Conditional App Platform does not support volumes; NFS share mounting is in private preview (services/workers/jobs only, same team and region). Local filesystem is ephemeral, 4 GiB limit. [1] [2] | Unsupported Dyno filesystems are ephemeral and discarded on restart; the ephemeral disk feature (Private Spaces/Fir) is scratch space only. [1] [2] |
|---|
| PostgreSQL | Conditional One-click PostgreSQL server templates (HA available), but Railway considers database services unmanaged: you control configuration and maintenance. [1] [2] | ✓ Supported Managed PostgreSQL; free tier expires 30 days after creation. [1] [2] | ✓ Supported Fly Managed Postgres: fully managed with HA failover, automatic backups, pgvector/PostGIS; 1 TB storage cap; no in-place major version upgrades. [1] | ✓ Supported Managed PostgreSQL from $15.15/mo (1 GiB/1 vCPU) + $0.215/GiB-mo storage; in-app dev database $7/mo per 512 MB (PostgreSQL only). [1] [2] | ✓ Supported Heroku Postgres add-on from Essential-0 ($5/month, 1 GB) upward. [1] [2] |
|---|
| MySQL | Conditional One-click MySQL server template (HA template available); unmanaged, same as other Railway databases. [1] [2] | Unsupported No managed MySQL; self-hosting in a Docker service is the documented workaround. [1] | Unsupported No managed MySQL; only a self-managed MySQL guide exists. [1] | ✓ Supported Managed MySQL at the same pricing as PostgreSQL (from $15.15/mo); the only provider in the P2 set with a first-party managed MySQL. [1] | Unsupported No first-party MySQL; third-party providers available in the Add-ons marketplace. [1] |
|---|
| Redis / cache | Conditional One-click Redis server template (HA template available); unmanaged, same as other Railway databases. [1] [2] | ✓ Supported Key Value (Redis-compatible) instances, including a free tier that expires 30 days after creation. [1] [2] | Conditional No first-party Redis; Upstash for Redis is integrated (created via flyctl, billed through Fly.io) but operated by Upstash. [1] [2] | ✓ Supported Managed Caching for Valkey, Redis-compatible; from $15.00/mo (1 GiB). [1] | ✓ Supported Heroku Key-Value Store (Valkey-based), accessible from any Redis/Valkey-compatible driver; Mini plan does not persist data. [1] |
|---|
| Git deploy | ✓ Supported Deploy from GitHub or a local repository, a Docker image, or the CLI. [1] | ✓ Supported [1] | Unsupported No native git push deployment (docs page removed); CI/CD via GitHub Actions is the documented path. [1] | ✓ Supported Continuous deployment from GitHub, GitLab, or Bitbucket repositories. [1] [2] | ✓ Supported Deploy with git push heroku; GitHub is the only first-party VCS integration. [1] [2] |
|---|
| Custom domains | ✓ Supported Custom domains, subdomains, wildcards, and domains purchasable in-platform. [1] [2] | ✓ Supported [1] | ✓ Supported Automatic fly.dev subdomains; custom domains via fly certs add with DNS records. [1] | ✓ Supported [1] | ✓ Supported Custom domains on any app at no extra charge. [1] |
|---|
| Private networking | ✓ Supported Private network between services in a project; TCP proxy available for non-HTTP traffic. [1] [2] | Conditional Private services reachable only by other services in the same workspace and region. [1] | ✓ Supported Private 6PN network over a WireGuard mesh between apps in an organization, with <app>.internal DNS. [1] | ✓ Supported Built-in outbound VPC access and VPC peering to managed databases, Droplets, and Kubernetes. [1] | Conditional Private Spaces provide isolated networks for dynos and add-ons; not available in the Common Runtime. [1] |
|---|