← All migration guides

Coming from Laravel Vapor

Laravel Vapor deploys Laravel as serverless functions on your AWS account, billed through Vapor on top of your AWS bill. Railyard runs the same app as a normal server process, at a flat price per team.

Why teams leave Laravel Vapor

Vapor is a clever way to run Laravel serverlessly on AWS Lambda. The friction shows up in cost and debugging: Vapor’s own subscription sits on top of your AWS bill, and cold starts, execution limits and a serverless mental model add friction that a normal server doesn’t have.

Railyard runs the same Laravel app as a long-lived process on a server in your own cloud account, at a flat price per team.

What comes with you

  • Your Laravel repo, built from a Dockerfile or buildpacks.
  • Your environment variables and secrets, previously set in Vapor’s dashboard or vapor.yml.
  • Managed Postgres, MySQL and Redis map directly to Railyard addons.
  • Laravel Horizon and queue workers run the same way on a Railyard worker process.

The move

  1. Attach a server: an existing one, or a new one Railyard provisions in your cloud account.
  2. Add your repo and Railyard detects Laravel automatically.
  3. Bring your config and attach the datastores your app expects.
  4. Deploy to a temporary URL. Run php artisan migrate and verify.
  5. Migrate data with a dump and restore into the managed addon.
  6. Move DNS. Vapor keeps serving until the cutover; there is no outage.

What’s different

A flat price per team instead of Vapor’s subscription on top of your AWS bill, and a normal server process instead of debugging cold starts and execution limits.

Bring your Laravel Vapor app to a server you own.

Add a server, point Railyard at your repo and deploy. Switch DNS when it works. Your old app keeps serving until then.

Free plan, no card, and 14 days of Pro for every new team. One flat price per team.