I am beyond excited to announce the release of Bellows.
Heads up! This post is a bit old. Bellows does so much more than this post describes, including:
Kickoff: Scaffold new Laravel apps to your exact specifications
Deploy: Deploy changes to your Forge site
Load Balancers: Launch and deploy to your load-balanced Forge sites
You should check out bellows.dev to learn everything that Bellows can do, it's incredibly powerful.
If you use Laravel Forge and launch sites with any regularity, Bellows is about to be your best friend. Forge already makes launching a site easy, Bellows makes it effortless.
You can learn more at bellows.dev or you can:
I use Laravel Forge extensively, both personal projects and client work. I launch sites quite often, many of them Laravel apps. They always involve doing the same thing, over and over again:
Updating domain records to point to server
run scheduleartisan command
Securing the site
Configuring the mailer
Logging into mail provider
Adding a new
mail.domain name by updating DNS records again
Configuring the database
Logging into DigitalOcean
Creating a database
Creating a user
Copying the user credentials
Copying the database config
You get the idea, the list goes on.
Is all of this manageable? Sure. Is it automatable? Yes. So I wrote Bellows to handle it all for me. And now, for you too!
What It Does
Bellows walks you through deploying your site for the first time, reading your
.env and installed packages and auto-detecting which services you'd like to configure for your app. If it's unsure about an action, it will ask you (it will never do something without your permission).
Bellows can update your deploy script, add
.env variables, create workers, create daemons, create scheduled jobs, and more. Some examples:
If you use Cloudflare, GoDaddy, or DigitalOcean Bellows is able to point your domain to your server and auto-validate any domains for mail providers.
If it detects that your app is using Octane, it will create the site as an Octane site and create the required daemon.
If it detects that you have the Bugsnag package installed, it will ask you if you want to create a Bugsnag project or select an existing one from the list.
Using Pusher? Just select your Pusher app from the list and let Bellows set up your
If Postmark is your mailer, you can choose an existing server and domain or have Bellows create them for you automatically. It'll even automatically verify your new domain if your DNS provider is supported.
There is an entire list of plugins that allows Bellows to support many third-party services, and I'm building more as you are reading this.
Right now the plugin system is closed, but custom plugins are on the roadmap. Looking for a Bellows plugin for a service you use? Hit me up and let me know!
The first time you use Bellows, you'll be entering some API keys as it walks you through launching your site. These are needed to connect to Forge and any third-party services your app needs.
My policy is that if Bellows needs an API key, it gives you a direct link to retrieve it. Click the link, grab the key, paste it in. Onwards.
The second (and third, and fourth, and fifth, and...) time you use Bellows, you'll be flying. It auto-detects as much as possible to allow you to basically keep pressing the enter key.
Soon, Bellows will be able to do more than just launch your site.
deploy command will allow you to push changes to an existing site on Forge in the same way
launch does. Let's say you forgot to add Postmark as your mailer when you launched. No problem.
deploy will configure and add Postmark to your site in no time flat.
kickoff command creates and configures a Laravel app according to your custom settings. Do you always install certain packages? Always include that code snippet in your
AppServiceProvider? Always adjust that specific config value? With
kickoff you can go from idea to writing actionable code in 30 seconds or less.
launch command will soon be able to create sites associated with a Forge load balancer. No more creating the same site on multiple servers, just do it in one shot with Bellows.
As with any piece of software, Bellows is standing on the shoulders of giants. A huge thank you to these packages (and their maintainers), they were critical to making Bellows what it is:
Special shout out to Anystack.sh for providing such an excellent platform to make licensing so easy (and to Philo Hermans for patiently and helpfully answering so many of my questions, it is greatly appreciated).
Grab Bellows today! Normally, the price is $49 for a year's worth of updates. But for the launch I created a limited set of 25 licenses for $29, get them while they're still available: