A FIELD GUIDE TO LARAVEL · VOLUME II · THE ECOSYSTEM
ENTRY II.1 · SERVER PROVISIONING
Forge
Product · first recorded 2014; Laravel's relaunch post says customers have used it since then (monitor:655)
A server management and deployment service. Forge provisions an Ubuntu server, on Laravel VPS or a provider you link, installs Nginx, PHP and a database, and runs your deploy script on every push.
Specification
Kind Hosted service, with a dashboard, an API and a CLI
Interface SSH into your server; a JSON:API; the forge CLI
Runs on Ubuntu servers: Laravel VPS, a linked provider, or your own
Installed by forge.laravel.com · composer global require laravel/forge-cli
Voice none in artisan. forge deploy · forge server:switch (CLI)
Scales by More servers, by type: web, database, load balancer
Range Cloud: n/a: Cloud is the managed alternative, no server owned
Forge, VPS: this is Forge; Laravel VPS is its own server provider
Vapor: no. Vapor is serverless; nothing to provision
Neighbours
Laravel Cloud runs the infrastructure for you, with no server in your name. Laravel VPS is the server Forge sells, on one bill. Envoyer deploys one project to several servers at once. The distinction that matters: with Forge you own the server, and its upgrades and capacity are yours.
Field marks
/home/forge/example.com/current
FORGE_RELEASE_DIRECTORY
$CREATE_RELEASE() in the script
forge deploy, from the CLI
Fig. II.1.1 · One push, one deploy, exploded
Parts
1 Push. A commit lands on the site's branch. With push to deploy on, the provider's webhook starts a deployment.
2 Deploy script. Bash that Forge runs over SSH: $CREATE_RELEASE(), composer install, migrate --force, $ACTIVATE_RELEASE().
3 Release. Each deployment is cloned fresh into releases/; current is a symlink moved only once every step has passed.
4 Shared paths. .env is shared into every release by default; add storage as a shared path and uploads outlive a deploy.
5 Server, an Ubuntu box Forge provisioned: Nginx, PHP-FPM, a database, Redis, a firewall, automatic security updates.
6 Health check, Optional, in site settings: after each deploy, three regions request the site and Forge says if it failed.
Hidden joinery
Deployments are capped at ten minutes and fail past it. Four releases are kept by default, so a rollback has somewhere to go. Zero-downtime is a creation-time choice: it cannot be switched on for an existing site. Octane sites should leave it off; Octane restarts gracefully itself. A deploy hook's token is reissued in one click.
Checked line by line against laravel.com/forge/docs and monitor:630, 655 on 2026-10-08.
TITLE
Forge · one push, one deploy
SOURCES
laravel.com/forge/docs/introduction · laravel.com/forge/docs/sites/deployments · laravel.com/forge/docs/server-providers · laravel.com/forge/docs/servers/types · laravel.com/forge/docs/servers/security · laravel.com/forge/docs/servers/laravel-vps · laravel.com/forge/docs/cli · laravel.com/forge/docs/changelog · laravel.com/blog/what-to-expect-in-the-next-generation-of-laravel-forge · laravel.com/blog/everything-you-need-to-know-about-the-new-forge-laravel-vps · Monitor 630, 655
STATUS
Verified · 2026-10-08
SHEET
II.1 of 48
REV
A · 2026-10-08
DRAWN
BS
FINISH
All faces, including the back