Recently I switched off of DigitalOcean in favour of a self-hosted solution with the hopes that it would be less costly in the long run. I've learned a few things from this and I thought I'd share them with you.

Version Configuration Files

I can't stress enough how important it is to version control everything. This includes your configuration files. By putting your configs under version control, you can more easily rollback a bad config and see how you did things in the past. This is especially important when you're migrating to a brand new system.

GitLab is Pretty Cool

Once I was off my $20 DigitalOcean droplet, I immediately went and installed GitLab on my home server. This gave me the ability to:

  1. Host private repos for free
  2. Integrate my private repos with CI/CD for free
  3. Leverage the full power of my home server for CI/CD etc
    Self-hosting my own Git repos allow me to save money on private Git repos. GitLab also comes with free CI/CD for every repo which means I don't need to pay for something like Travis for my builds. Using my own home-server also gives me a much stronger system on which to run my pipelines. Cutting back on pipeline runtimes dramatically.

Use ALL The Resources

In addition to self-hosting GitLab, I found that I was also hosting a bunch of other things. My Discord bot, Eevee, is hosted on my home server as well as a private file host and even a Docker registry. I found that because I was self-hosting everything, I was able to do lots of things I couldn't before with a VPS. One thing is automated downloading of anime episodes (one of Eevee's features). Before, if I tried to use that feature on my DO droplet, I'd have to find a way to get the downloaded episode onto my home computer. Now I can just bind a container folder to a path on my home server and all episodes downloaded by Eevee are immediately available for indexing by Plex.

Consider Your Options

I was able to do this because I have a pretty beefy computer for a server. It's a retired desktop computer sporting an i5-4690k and 32 GB of DDR3 RAM. I also happen to have a pretty fast internet connection: 300 Mbps down and 10 Mbps up. You should carefully evaluate your options before switching off a VPS. Perhaps there's a cheaper host you can switch to instead of self-hosting. Self-hosting a server also means you're the one responsible for things that you would normally have your host manage, like backups, so you should take that into consideration as well.