How to deploy a Laravel app | Ample
The short version
To deploy a Laravel app on Ample, run ample deploy . --name <app-name> --public in the project directory, or ask your coding agent to deploy it to Ample. Ample builds it on the php-8.5 template, runs the tested start command below and returns a public HTTPS URL.
Deploy Laravel
- 1
Ask your coding agent
Install the Ample CLI and create an account (no browser or card needed), then ask Claude Code, Codex, Cursor or any agent with a shell to deploy the project. See Ample for coding agents.
curl -fsSL https://get.ample.computer/install.sh | sh
ample auth signup
# then, in your agent:
# "Deploy this Laravel app to Ample"
- 2
Or deploy from the CLI
Run the deploy once from the project directory. It waits until the app is live or failed and prints the URL; exit 0 is live, 1 failed, 2 needs input.
ample deploy . --name <app-name> --public
- 3
Or use MCP
Agents connected to the Ample MCP server (https://api.ample.computer/mcp, or ample mcp over stdio) call ample_deploy with the same arguments.
- 4
Verify
Open the URL. If the deploy failed, read the build log, then the runtime log, fix the cause and deploy again.
ample logs <deployment_id> --kind build
What Ample runs
| Template | php-8.5 |
| Install | composer install --no-dev --prefer-dist --no-interaction --no-progress --optimize-autoloader |
| Start | frankenphp php-server --listen :$PORT --root public |
| Tested size | s-1vcpu-1gb |
Verified on Laravel: the app built and started with the documented commands and answered on its public HTTPS URL. Build and start: composer install --no-dev from composer.lock, then FrankenPHP serving public/ (php-server with the index.php fallback) reading PORT on the php-8.5 template.
Last verification (September 20, 2026): Laravel pattern fixture deployed on Ample (composer install --no-dev from composer.lock, then FrankenPHP serving public/ (php-server with the index.php fallback) reading PORT on the php-8.5 template); for this guide: the app built and started with the documented commands and answered on its public HTTPS URL.
Before you deploy
You need
- A Laravel project (composer install --no-dev from composer.lock, then FrankenPHP serving public/ (php-server with the index.php fallback) reading PORT on the php-8.5 template)
- An Ample account token with servers:write
Know the limits
- Verified on the php-8.5 template at s-1vcpu-1gb; other sizes and Laravel major versions are not verified.
Move a Laravel app to Ample
- How to move a Laravel app from AWS EC2 to Ample
- How to move a Laravel app from DigitalOcean Droplet to Ample
- How to move a Laravel app from Fly.io to Ample
- How to move a Laravel app from Heroku to Ample
- How to move a Laravel app from Netlify to Ample
- How to move a Laravel app from Railway to Ample
- How to move a Laravel app from Render web service to Ample
- How to move a Laravel app from Vercel to Ample
Frequently asked questions
Do I need a Dockerfile to deploy Laravel?
No. Ample detects Laravel from the repository and builds it from source on the php-8.5 template. Dockerfile build steps are not run.
How do I add a database to a Laravel app?
Leave DATABASE_URL unset and deploy: when the code needs Postgres, MySQL, Redis or MongoDB, Ample creates a managed database and passes its connection string to the app. See Connect Postgres for Laravel.
What does it cost to host a Laravel app on Ample?
The Free plan runs 2 apps at once with no card and a hard monthly budget, so it never bills you. Larger needs are priced on volume; see pricing.
What if the deploy fails?
ample deploy waits until the app is live or failed. A failure returns who must act, a diagnosis and a suggested fix; read the logs with ample logs <deployment_id> --kind build. See Diagnose deployment failures for Laravel.
More for Laravel
Laravel How to serve Laravel public assets through a CDN on Ample Laravel How to set environment variables and secrets for a Laravel app on Ample Laravel How to connect a Laravel app to Postgres on Ample Laravel How to use S3-compatible storage from a Laravel app on Ample Laravel How to serve private files from a Laravel app on Ample Laravel How to run database migrations for a Laravel app on Ample