Laravel on Railway
Railway publishes its own guide for deploying Laravel.
PHP web framework with an ORM, queue workers and a scheduler that expects a persistent process.
What Laravel needs.
Every host claims to run Laravel, so the claim on its own decides nothing. These are the things Laravel actually requires from the platform underneath it, and what Railway publishes about each. Railway documents 4 of the 4.
Persistent processes
Supported
Queue workers and Horizon are long-running processes, not requests. They have to stay up between jobs.
Sources (1) →Sources ↓
- Services — Railway Docs ↗
“Types of services Persistent services Services that are always running. Examples include web applications, backend APIs, message queues, database services, etc.”
Read 2026-09-13 · official docs
Managed databases
Limited
Eloquent, migrations and the default session and cache drivers all expect a relational database.
Sources (1) →Sources ↓
- Databases — Railway Docs ↗
“Railway enables you to deploy and manage databases alongside your applications. [...] The fastest way to deploy a database is through Railway's database templates [...] These templates are maintained by Railway and come pre-configured with sensible defaults.”
Read 2026-09-05 · official docs
Scheduled jobs
Supported
Laravel's scheduler is one cron entry calling schedule:run every minute. Without cron, nothing scheduled ever fires.
Sources (1) →Sources ↓
- Cron Jobs | Railway Docs ↗
“Cron Jobs allow you to start a service based on a crontab expression. [...] The shortest time between successive executions of a cron job cannot be less than 5 minutes.”
Read 2026-09-05 · official docs
Persistent storage
Supported
The default filesystem disk writes uploads under storage/app. On an ephemeral filesystem those files disappear at the next deploy.
Sources (1) →Sources ↓
- Volumes | Railway Docs ↗
“Volumes are a feature that enables persistent data for services on Railway. [...] When mounting a volume to a service, a volume is made available to the service on the specified mount path.”
Read 2026-09-05 · official docs
What Railway documents.
Railway publishes its own guide for deploying Laravel.
This guide covers how to deploy a Laravel app on Railway in three ways.
Sources (1) →Sources ↓
- Deploy a Laravel App | Railway Guides ↗
“This guide covers how to deploy a Laravel app on Railway in three ways.”
Read 2026-09-05 · official docs
Laravel features on Railway
Capabilities Railway documents specifically for Laravel, with the constraint it documents alongside each.
laravel_scheduler
Supported
Cron Service: Manages scheduled tasks (e.g., sending emails or running reports). [...] # This block of code runs the Laravel scheduler every minute
storage_disk_mount
Supported
Volumes allow you to store persistent data for services on Railway. [...] For example, if your application writes data to ./data, you should mount the volume to /app/data.
managed_mysql
Limited
The Railway MySQL database template allows you to provision and connect to a MySQL database with zero configuration. [...] While these templates are available for your convenience, they are considered unmanaged, meaning you have total control over their configuration and maintenance.
native_php_runtime
Supported
Railway uses Railpack to build and deploy your code with zero configuration. [...] Currently, we support the following languages out of the box: Node Python Go PHP
Sources (4) →Sources ↓
- Deploy a Laravel App | Railway Guides ↗
“Cron Service: Manages scheduled tasks (e.g., sending emails or running reports). [...] # This block of code runs the Laravel scheduler every minute”
Read 2026-09-13 · official docs
- Using Volumes | Railway Docs ↗
“Volumes allow you to store persistent data for services on Railway. [...] For example, if your application writes data to ./data, you should mount the volume to /app/data.”
Read 2026-09-13 · official docs
- MySQL | Railway Docs ↗
“The Railway MySQL database template allows you to provision and connect to a MySQL database with zero configuration. [...] While these templates are available for your convenience, they are considered unmanaged, meaning you have total control over their configuration and maintenance.”
Read 2026-09-13 · official docs
- Railpack | Railway Docs ↗
“Railway uses Railpack to build and deploy your code with zero configuration. [...] Currently, we support the following languages out of the box: Node Python Go PHP”
Read 2026-09-13 · official docs
What it costs to run there.
- Entry paid plan
- $5 / month (Hobby)
- Pricing model
- A base subscription fee that goes towards usage, with the plan's own credit included; anything beyond the credit is billed as resource usage.
- When you exceed a cap
- Billed automatically: on the Hobby plan ($5/month, includes $5 of resource usage) usage above the included amount is charged as a delta on top of the subscription — no throttling or suspension is documented
- Regions
- 4 regions: California, Virginia, Amsterdam, Singapore
Sources (3) →Sources ↓
- Plans — Railway Docs ↗
“Plan Price Free $0 / month Hobby $5 / month Pro $20 / month Enterprise Custom”
Read 2026-09-13 · official pricing
- Pricing Plans | Railway Docs ↗
“If your total resource usage exceeds $5 in any given billing period, you will be charged the delta”
Read 2026-09-05 · official docs
- Regions — Railway Docs ↗
“Name Location Region Identifier US West Metal California, USA us-west2 US East Metal Virginia, USA us-east4-eqdc4a EU West Metal Amsterdam, Netherlands europe-west4-drams3a Southeast Asia Metal Singapore asia-southeast1-eqsg3a”
Read 2026-09-13 · official docs
Whether it suits you.
Teams that want a plan fee which doubles as usage credit, and deploy services straight from a Dockerfile without managing servers. The $5 Hobby fee comes back as $5 of resource usage.
Consider something else if…
You need to run in a region outside California, Virginia, Amsterdam or Singapore.
Visit Railway documentation