In 2009, I started hosting this site on a Mac Mini colocated at MacMiniColo/MacStadium. While I had some experience with shared hosting (think cpanel and MediaTemple), most of my server experience at that point was with Microsoft IIS systems, which are largely GUI-based. I wasn’t familiar with Linux at all, so Apple’s Server.app GUI eased me into Linux-based server management without worrying too much about the underlying tech. It was great, until it wasn’t. I described much of this experience in a prior post.
In 2017 I was ready to move past Server.app and its shortcomings. I still had my trusty Mac at the colo, so I converted the Mac to a VMWare ESXi box running Ubuntu Server. By this point, I had already been dipping my toes into Ubuntu and Linux-based systems, and the switch to Ubuntu felt like a natural progression. Ubuntu worked well, and it was nice to get regular security updates! But, as I always do, I started to question my setup yet again: why run ESXi on the server? Why not Ubuntu on bare metal? And If I’m running Ubuntu, do I even need the Mac anymore?
In 2018, I had received some free credits for DigitalOcean and decided to give them a try. In less than ten minutes, I had created a droplet and installed WordPress. In short order, I transferred this pipwerks site to the droplet and cancelled my MacStadium account. I’ve been on DigitalOcean ever since.
You may ask, since this is a WordPress site, why not just go with a managed hosting service like Kinsta or WP Engine? The answer is threefold: 1) They’re expensive, and this site does not generate any money to cover those costs; 2) I wanted to be able to customize my WP installation freely; 3) I wanted to be able to experiment and run non-WP sites/services.
Four years in, and I remain impressed with DigitalOcean. They’ve worked hard to reduce the friction of creating and managing droplets, and have continued to add new features while keeping their prices reasonable (and helping me stay off of Google and AWS infrastructure). In addition to my WordPress droplets, I’ve also hosted static HTML sites via Docker, as well as a Plex server and a VPN server for streaming baseball (enough with the archaic blackout rules, MLB!).
Of course, this also means I’ve had to roll up my sleeves and handle all the behind-the-scenes stuff: server maintenance, WordPress updates, Docker updates, network configurations, and troubleshooting. It’s not unbearable, but let’s be honest, sometimes important updates don’t get installed for months (years?) because I didn’t know they were needed or hadn’t logged in for a long time. This is the downside of self-managed systems. The DigitalOcean droplet is much cheaper, but you also have to do all the work yourself, so you spend a lot more time on it.
But this is changing. I recently stumbled on an intriguing service called SpinupWP. It was created by the founder of Delicious Brains, maker of very popular and highly regarded WordPress plugins. SpinupWP bridges the gap between managed WordPress hosting and self-managed hosting on cloud platforms like DigitalOcean and Google Cloud. SpinupWP provides a powerful web-based GUI for managing the OS and WordPress installation on your droplet, as well as thoughtful automations that enhance your system.
The web-based GUI feels similar to a managed hosting service, abstracting away tedious CLI commands for managing most of the server environment. But, since you own the droplet, you can still tinker with the OS and connect via SSH any time you want. You’re not locked into a GUI-only world like you would be with a managed service. It’s still your Ubuntu system, you can tweak it as you like. And, should you decide to stop using SpinupWP, you can just turn it off and manage the droplet manually.
However, SpinupWP is not just a pretty face for a DigitalOcean droplet. Because SpinupWP is specific to WordPress, it runs optimization and security scripts, tightening up the performance and security of the droplet. Sites managed through SpinupWP have caching enabled by default and run faster than they would on the vanilla WordPress droplet. The sites are more secure than the vanilla WP installation, as SpinupWP automatically configures HTTPS, Fail2Ban, and other WordPress-specific security optimizations for you. You can also enable site backups (extra fee), set up git-based workflows, and do one-click site cloning.
I was sold on the sales pitch and signed up for SpinupWP’s free trial. So far, I really like it. It works as advertised. The dashboard abstracts a lot of the tedious SSH/CLI tasks, and the service sends a notification whenever there’s an important OS update. It makes tedious launch and maintenance tasks easier, but doesn’t require me to give up the ability to administer the server as I see fit.
The only downside for me is the cost — ironically, the $12 monthly fee for SpinupWP is twice the cost of my $6/mo DigitalOcean droplet. But this is because I have a low-traffic site and use the smallest and cheapest droplet. If I were running a higher-traffic site, SpinupWP’s cost would be well worth it. At a total of $18/mo, the DigitalOcean/SpinupWP combo is still very affordable. It’s more expensive than cheapo hosting like GoDaddy (which I would never recommend), but more affordable than premium hosts like Kinsta. If you run multiple sites, such as hosting WP sites for clients, SpinupWP charges just $5/mo per additional site.
If you’re looking to run a self-hosted WordPress site on a cloud platform like DigitalOcean or Google Cloud, and don’t want the hassle of living in the CLI, check out SpinupWP. Here are some referral links that will give you credits. I’ll also get a credit if you sign up using these links.
DigitalOcean: $100 credit over 60 days
SpinupWP: $50 credit 30 days after signing up