Why I use RunCloud over ServerPilot

Edit 2/3/20: I’ve switched away from using either RunCloud or ServerPilot. You can read about that here.

I host around 18 different websites (mostly WordPress), both for myself, and for small-to-medium sized business clients.

This creates a small pool of “fun money” on the side for me, that’s entirely passive. It also lets me break away from the hellish world that is shared hosting, such as BlueHost, Hostgator, or the like.

*shudders*

I host all 18 of these sites on a single $5/month DigitalOcean droplet. (If you’re not a super techy person, DigitalOcean may not be the best for you. In that case, I’d recommend BlueHost.)

You heard me. That’s it.

There’s no fancy load-balanced configuration. There’s nothing beefy about the server whatsoever. I’m using the base droplet with 1GB of RAM, 1 vCPU, and 25GB SSD storage.

As you can see, the server hardly breaks a sweat.

I plan on throwing at least another 10-20 sites on there, before I anticipate needing either to resize the server to add more resources, or spin up another instance entirely.

I could manage it myself, but why?

It’s no secret. I’m a nerd.

My 9-5 day job is working as a Systems Administrator.

I understand NGINX and how to set up virtual host configurations. I understand how to install LetsEncrypt SSL Certificates, and renew them using Certbot via Cronjob. SCP-ing files, and using VIM doesn’t scare me in the slightest.

Managing servers isn’t new to me. But if I can make my life easier, why not?

In comes ServerPilot.

I used ServerPilot for years. In fact, I was actually very pleased with their service, and I had no reason to switch whatsoever. That was, at least, until they updated their pricing model.

You see, I’m a tight ass. I really like free.

I was on ServerPilot’s free tier. With their new pricing model, I would now be charged $5 per server, plus an additional $0.50 per app. That brings me to a grand total of $14/month. Add in the price of the DigitalOcean droplet, and I’m sitting right around $20/month.

Am I complaining over pennies? Absolutely. But it’s my party, and I can cry if I want to.

So I began searching around for alternatives to ServerPilot. There are a couple different options out there, but RunCloud piqued my interest the most, and so I decided to give it a shot.

I migrated all of my sites over, and they’ve happily been chugging along for the last 9 months or so.

Here’s my personal experience with RunCloud. YMMV.

Pricing

Many will find this ironic, but I actually pay for RunCloud. The reason I switched from ServerPilot in the first place was due to the crazy pricing, so I too, am surprised I’m paying for their service.

RunCloud has a completely free tier, a basic tier for $8/month, a Pro plan for $15/month, and then Enterprise plans from there on up.

Runcloud Pricing

Because I’m only using one server, I pay for the $8/month plan. If I had more than one, it would be $15/month, which then I’d be right back in the ballpark of ServerPilot.

Honestly, the only reason I pay for their paid plan is because of the one-click SSL certificates.

Again, I fully realize that I could go in and configure the SSL certificates using LetsEncrypt, schedule the cron job, etc.

Ain’t nobody got time for that.

I also realize this is exactly what they’re doing behind the scenes, but now they do it for me so I don’t have to. The time I spend trying to remember how to do that each and every time I add a new site to my server is absolutely worth the $8/month that I pay for their basic plan.

I have a RunCloud affiliate link, which just helps support this blog. If you sign up, you’ll receive 15-days free off one of their paid plans, and I receive a small commission as well. But by no means feel obligated to do so.

Dashboard

I love minimalist design. I’m all about white, plain, clean, and simple. So that should mean that ServerPilot’s dashboard should appeal to me right?

Well, you’re right. It actually does. It’s plain, simple, easy to use, clean. I really don’t have too many qualms about it — except for the fact that it feels incredibly limited in its abilities.

Sometimes that’s actually what you need. Something that just works out of the box is great, and if you don’t need to configure anything, all the better.

But RunCloud just wins in this category. Everything is neatly organized in the left-hand panel. Nothing feels too cluttered. I have access to all the features I need, and then some.

I do prefer white/minimalist to the blue scheme, but colors don’t matter when features are missing. RunCloud has won me over hands down in this regard.

Server Performance

I realize that the underlying performance of the server is controlled by DigitalOcean, and not ServerPilot or RunCloud.

But both SP and RC install their own proprietary agent software on my VPS, and it does affect the overall performance of the server.

In my experience, RunCloud requires significantly fewer resources, and takes up less disk space than ServerPilot ever did. Not to mention, the server response time just feels snappier to me.

Promo: RunCloud is free, but if you use my link, you can get 15-days free off their paid plans.

I’ll fully admit, this could simply be due to my droplet configuration. There was a while there where it was a little bit buggy. When I moved over to RunCloud, I created a new droplet from scratch, and everything appeared to work significantly better.

So take this point with a grain of salt, but overall, I’m still much happier with the system performance.

Hosting Configurations

One thing RunCloud really has going for it is their web server configurations. They offer two to choose from:

  1. Nginx + Apache (Nginx as a Reverse Proxy)
  2. Nginx + PHP-fpm

If you use .htaccess for re-write rules, or whatever else, option one will be your best bet. Otherwise, option two will work better for you. And even if you still want to go with option two, most everything you can configure in the .htaccess file can be configured in nginx.conf instead.

ServerPilot doesn’t give you the second option.

Backups

The last time I used ServerPilot, they didn’t offer any integrated backup solutions (so that may have changed as of this writing).

RunCloud does have it baked in, but it costs extra. And in my opinion, it’s actually quite expensive.

RunCloud charges $0.05/day, bringing up so $1.50/month. But that’s on a PER APP basis. And to add insult to injury that only backs up the app, not the database too. If you want the database backed up as well, double that price.

$3/per month/per app * 18 apps = $54.

Yeah, sorry. I don’t think so.

To combat this, I just turn on automated backups for $1/month via DigitalOcean.

They’re automated, and they run weekly. Then, if something happens to my Droplet, I can easily restore to a point in time, or I can restore it to an entirely new droplet for recovery or testing.

This puts my mind at ease knowing that my files are taken care of.

For extra redundancy and ease, I do a daily mysqldump, and then rclone it to my Google Drive to make sure that I can restore a single app’s database if needed. My simple cron job runs daily, and deletes backups older than 30 days to make sure my Google Drive doesn’t fill up:

!/bin/bash
find /root/sql_backups -mtime +30 -type f -delete
today=date '+%Y_%m_%d';
databases=($(mysql -e 'show databases' | grep '_db'))

for i in "${databases[@]}"
do
        mysqldump --databases $i > sql_backups/${i}_$today.sql
done

rclone sync /root/sql_backups google_drive:/Runcloud_Databases_Backup/

Obviously, the databases are all captured in my DigitalOcean backups, but they’re only taken weekly, and my databases update a lot more frequently than the file structure does. If a client messes something up, and I need to restore to an earlier point, I’ve found that the weekly backups from DigitalOcean aren’t always sufficient to capture all the incremental changes.

Daily database backups (for 30 days) via my custom script and weekly file backups seem to do the trick for me, without having to pay RunCloud’s ridiculous backup pricing.

Other things I really enjoy

One-Click SSL Certs: As I mentioned earlier, I really dig this. This makes my life really easy. Again, I could log into the server, and run rcssl, but you know me. I’m lazy. This isn’t something that RunCloud necessarily does better or different than ServerPilot, it’s just that to get this feature from SP, I would have to pay even more than I already do.

Automated Script Installer: Choose from a long list of common apps, like WordPress, Drupal, PHPMyAdmin, Joomla, etc and install them with one-click ease. 99% of the time, I just set up a simple WordPress sites for clients, but it’s nice that they have other options to select from.

Server Monitoring: This is something ServerPilot doesn’t have at all, and I’m a little baffled by it. DigitalOcean offers this for free in their Dashboard, but sometimes I’ve found that the metrics reported by DO are actually quite a bit different than what the server itself is actually seeing. If I’m ever second-guessing DO, I like that I can log into RunCloud and spot check a second place. If nothing else, I just SSH to the server itself, and run htop.

Web Deployment Hooks: This is a pretty cool feature that I intend on trying, but haven’t gotten to it just yet. You can do automated deploys and builds via Git, BitBucket, or other repositories and push various branches for automation. Pretty neat.

Multiple PHP Versions: For the most part, I try and run all of my sites on the latest and greatest version of PHP. For the most part, that means running PHP 7.3. Occasionally, though, I’ll be migrating over a legacy app, and I’ll need to downgrade that PHP version for debugging. I like that I can have different PHP versions for different apps. So for example, I can have a legacy app running PHP 5.6, but my personal blog is running PHP 7.3.

Lots more: Tons more features that are probably a waste of time to list here, when you can go check them out for yourself.

I’m happy, and I’m staying

Overall, I’ve been really pleased with RunCloud. I think there are a lot of similarities between the two systems, but cost is really what drove me away from ServerPilot.

I’m not saying people shouldn’t be paid for their services — they absolutely should. I don’t fault ServerPilot one bit for moving to a paid model. I just don’t want to be the person paying for it, when there are better/cheaper/free alternatives, such as RunCloud.

It may not be for everyone, but for now, I’m a fan and I don’t see myself switching to something else anytime soon.

12 thoughts on “Why I use RunCloud over ServerPilot

  1. How hard is it to migrate to runcloud. I am on the grandfathered free serverpilot plan for 3 websites and running letsencrypt every 3 months is a little annoying. But I dont know how difficult it would be to switch services.

    1. In switching from Plesk to RunCloud.
      Also using Digital Ocean.
      Many problems with Plesk, the only downside on RunCloud, you can’t host emails here.

  2. I’m considering AWS Lightsail as I want a little more “managed” server versus EC2 that requires more configuration. However, I host 10 WP sites (and growing) with 2 getting daily activity consistently that host several thousand posts. These will only continue to multiply. But I’m looking for App management and I’m looking at SP or RC. I’m leaning towards RC. I use a plugin in WP to do my weekly backups to S3 but given the daily updates on those sites I need a daily option in case I have to restore. I’m not familiar with writing or editing scripts, just copying and adding what others have. How would I implement your cronjob above? I like your process and I think it will work. Based on the extra cost it seems like my weekly backups need to stay with S3 and then just use AWS backups for my Instances for a full restore of all sites if necessary.

    1. You can use updraft wordpress plugin to automatically backup wordpress website to S3 or any other. Backup to Google drive is free but to backup on S3 you need paid version of Updraft.

Leave a Reply

Your email address will not be published.