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.