Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

rajcoder's avatar

Why to use envoyer for 0% downtime?

I am currently using Forge and I noticed that when quick deploy is enabled then when I push code forge automatically deploys the new code on the server.

During deployment I can still access my website. So what's the use of using envoyer for 0% downtime? Am I missing something?

0 likes
3 replies
Nash's avatar

As far as I know, Envoyer creates a new install in a separate directory when you deploy and only starts pointing there once everything is up and running. You can also easily roll back your deployments to the previous install/directory.

Forge uses the same install and only pulls in the changes (+ runs migrations and installs new packages) so everything is still happening to your live site in real time. This can potentially result in more downtime and trouble, e.g. if something goes wrong and you have to fix it or if your update is big, needs configuration etc. as it might require you to take down the site while you make the changes.

Robstar's avatar

Some deployments could cause downtime. Really, you're supposed to put your application into maintenance mode before deploying (php artisan down), pull in your code and then put the application up again (php artisan up).

When you deploy the way you describe you're deploying changes on a live site that real users are using.

Envoyer solves this in what I believe as the same to AWS's Elastic beanstalk, by creating a copy of your site when deploying. When the deployment has completed your web server then symlinks the document root to the newly created directly.

I use the free Envoy from https://laravel.com/docs/5.7/envoy to mimick the above. I'm sure Envoyer has other benenfots and does a lot more. But for simple deployments without downtime Envoy is fine.

skoobi's avatar

I noticed if your quick and refresh the page while it just finishes pushing code to forge it sometimes has downtime, But it is very minimal, almost only for a second.

Please or to participate in this conversation.