Alternatives for Laravel Envoyer

Published on

First announced in 2015, Envoyer is Laravel's first-party solution for deploying Laravel applications. Envoyer's strong points are that it automatically deploys your code when you push a new commit to your git repository, and that those deployments are zero-downtime.

The biggest downside of Envoyer is its price. At a yearly price of $120 for up to 10 projects, or $240 for up to 20 projects, Laravel Envoyer is quite expensive to use for personal projects. This money does directly support the development of Laravel, so the high price isn't all bad.

Pros and cons of Laravel Envoyer:

  • Easy to set up
  • Automated zero-downtime deployments
  • Deploys from static IP-addresses (useful if your server has an IP-whitelist)
  • Paying for Envoyer financially supports Laravel
  • Doesn't set correct file permissions (if you don't use Forge this will cause issues)
  • Expensive for personal projects ($10 or $20 recurring monthly)
  • Builds your application on your server instead of in a CI/CD runner
  • Doesn't run tests before a deployment
  • The Laravel company needs access to your git repository

Below are two alternatives for Laravel Envoyer that are cheaper but still offer the same deployment quality.

A great alternative: Deploy-Laravel.com

The best alternative for Laravel Envoyer in my opinion is the deployment script that you can purchase at Deploy-Laravel.com. I wrote this deployment script as a replacement for Envoyer in 2022, and it has deployed hundreds of Laravel applications since.

Pros and cons of Deploy-Laravel.com's deployment script:

  • Easy to set up
  • Automated zero-downtime deployments
  • Affordable compared to Envoyer at $15 (one-time payment)
  • Builds your application in a CI/CD runner
  • Always sets correct file permissions
  • Can run tests before deployment (but doesn't by default)
  • Deploys from dynamic IP-addresses (deploying to a server with an IP-whitelist requires extra steps)

Deploy-Laravel.com's deployment script works out-of-the-box and runs exactly the same zero-downtime deployment as Envoyer. The script runs from either GitHub Actions or GitLab CI/CD and automatically deploys your application when you push a new commit.

Migrating from Envoyer to this deployment script couldn't be easier, so if you're looking for a new way to deploy your Laravel applications, give Deploy-Laravel.com a try.

A free alternative: Deployer.org

If you're on a budget, Deployer might be a good Envoyer alternative for you. Deployer isn't as hassle-free as Envoyer or Deploy-Laravel.com, but it makes up for that by being open-source and free to use.

Setting up Deployer can take some time, but once you have it running it deploys your applications in almost the same way as Envoyer. Deployer doesn't automatically deploy on commit, you have to manually run dep deploy from your terminal and wait for it to finish.

Pros and cons of Deployer:

  • Free and open-source
  • Deploys from your own static IP-address (useful if your server has an IP-whitelist)
  • A bit of a hassle to set up and customize
  • Semi-automated zero-downtime deployments
  • Doesn't run tests before a deployment

Deploy Laravel with GitHub Actions

Check out my Laravel deployment script for GitHub Actions

Check it out