Hosting Upgrade

Saturday, September 12, 2020
Tags: cassettenest gratitude technical

Cassette Nest development has been on hiatus recently, but it’s ramping back up. Thank you to Jonnie Hallman for inspiring me to start writing about my process again!

The big task on my plate right now is updating my hosting infrastructure. I’m going from a basic setup on PythonAnywhere using SQLite to all the new fanciness I can stand with Docker and PostgreSQL running on DigitalOcean.

As I see it now, using Docker is the best way to build websites if you need what you’re working on locally to match how it works on a real web server. The alternatives are using a huge virtual machine or contorting your personal computer beyond all recognition.

That meant I had to learn how to host Docker-powered sites. I’ve been away from traditional hosting companies for a while now, opting for things like Netlify. Static site hosts are wonderful, but they don’t let you host arbitrary things like lists of files or Django apps. For Docker-powered sites, your choices are using a platform-as-a-service like Heroku where you have to pay per site (if you want SSL—and how could you not?!) or an infrastructure-as-a-service like DigitalOcean where you can roll your own just-about-anything for a set monthly price. I didn’t want to go the roll your own route, but I also didn’t want to pay $7/month for every little idea I want to try. Plus, I really liked the idea of using DigitalOcean for a number of reasons:

It’s possible to host as many Docker-powered sites as you want on the same Droplet (until you run out of your allocated resources). Although it’s fiddly to get going, once a site is set up, it’s pretty hands off. Do a git push, wait a few moments, and see your changes!

Figuring out how to host Docker sites was, and continues to be, a very good learning experience. I can’t imagine going back to developing anything beyond a static site without using Docker. It’s really good. Docker (or container technology at least) is The Way.

  1. This is a big one. I can’t understand why more folks aren’t talking about avoiding technology that is helping to destroy the world. Most of the internet runs on Amazon’s servers. Front-end developers seem to only talk about (Facebook-created) React. This is not ok. I’m trying really hard to avoid all that mess but I feel like the rest of the world is gaslighting me not paying attention.