Sail is a free and open source CLI tool to provision and deploy WordPress applications to the DigitalOcean cloud. Here’s a quick video demo of how it works:
I’m a DIY guy when it comes to WordPress hosting, so I like to get my hands dirty with servers, code, configuration and everything else. I’ve been using virtual servers at DigitalOcean for small WordPress projects for a very long time, and it’s great, and also very affordable.
However, it’s a bit annoying to do routine maintenance on existing servers, or provision and configure new servers for newer projects so, like most developers, I wrote a bunch of scripts, and used them for many many years.
Over the last couple months I’ve decided to clean up (rewrite) all those scripts and package them into one easy to use CLI tool, which I called sail. It’s open source on GitHub, and available for Linux, MacOS and Windows through Homebrew and PyPI.
Sure, there are plenty of existing products and services for managing WordPress on DigitalOcean and other cloud providers, and trust me, I tried them all. Every single one of them beasts. Here are some of the problems I had:
- A lot of them don’t provide vanilla WordPress, they bundle stuff from their partners which I don’t want
- Most of them lack any sort of deployment tools, so I have to set things up on my own
- Many of them won’t give me root access to the server I’m paying for, and some will not even let me use my own DigitalOcean account to run the VMs
- Most of them are web GUIs, while I always prefer the command line for such things
- Some of them charge me double the droplet price for features and services which I’ll never use
Sail is free and open source, and it allows you to:
- Quickly provision a clean WordPress site to your DigitalOcean account
- Deploy code changes and rollback in quick atomic operations
- Add domains and free SSL certificates through Let’s Encrypt
- Create and restore complete file and database backups
- Quickly access server logs, production SSH, WP-CLI and MySQL shells
- With full root access, and all from the command line
While my focus right now is to complete and polish all the core Sail features, I do have some more exciting things on the roadmap for the next few releases. This is not a promise, but rather a taste of what’s coming next:
- Blueprints, which will allow you to specify additional plugins, themes, settings and server software to launch with your Sail project
- Staging, and all the pushing/syncing to and from and between
- Profiling, because every millisecond counts
The easiest way to get Sail is from Homebrew or PyPI. It run on Linux, MacOS and Windows (via WSL). Give it a spin, I think you’ll love it. And if you don’t, let me know why in the comments below.