Self-hosting a cloud drive with Rclone

For a long time I had been using Google Drive to store all my important documents. It worked extremely well - always accessible no matter where I was, synced across all my devices, and never had to worry about my files being unavailable or deleted. Ultimately though, it didn’t feel like it was mine, and I didn’t like the idea of depending on Google. When searching for an alternative, I considered full-blown cloud solutions like Nextcloud/ownCloud, but they seemed overly complex to me. Also, I didn’t like the idea of being locked to their product, despite it being open-source. I wanted something simpler. So I thought: how about plain old S3? It’s simple, easy to integrate, works everywhere, and I don’t even need to host anything - so it won’t consume any resources. My main concern about this plan was that the files wouldn’t be encrypted - if someone gained access to my S3 drive they’d get access to my files, and that would be bad. ...

September 17, 2022 · 5 min · Mike Cartmell

Hosting WordPress on Kubernetes

This is the sixth post in a series on Modernizing my Personal Web Projects. In this post I’ll describe my experience of hosting WordPress on Kubernetes for my personal sites. WordPress is a popular free and open-source content management system. It’s often used for blogs and e-commerce sites for its ease of use and vast plugin library. I moved to it myself for my personal blog some time ago because it takes care of all the backend parts that power the site – so I can focus on writing content. ...

September 10, 2021 · 7 min · Mike Cartmell

Setting Up a Self-Hosted Docker Registry

In my earlier post I recommended including a DigitalOcean Container Registry subscription when setting up a budget Kubernetes cluster, because it’s convenient and avoids circular dependency issues. I would still recommend that option if the Kubernetes cluster is your only internet-facing cloud host. However, I quickly outgrew the 5-repository limit of the basic plan, so I took another look at setting up a self-hosted Docker registry. As it turns out, it’s not as difficult as I thought. The trickiest part was installing the SSL certificate, since that’s a requirement for the registry. This will be my configuration: ...

September 6, 2021 · 3 min · Mike Cartmell

DigitalOcean Kubernetes Without a Load Balancer

This is the third post in a series on Modernizing my Personal Web Projects where I look at setting up DigitalOcean Kubernetes without a load balancer. Why You Need a Load Balancer DigitalOcean Load Balancers are a convenient managed service for distributing traffic between backend servers, and it integrates natively with their Kubernetes service. They offer a quick way to expose services to the public internet without having to use NodePort. However, managed load balancers are excessive for personal websites with low traffic, since they won’t fully utilise the performance or high-availability benefits. It also costs more, which is no good for my original goal of creating a budget Kubernetes setup! ...

August 31, 2021 · 5 min · Mike Cartmell

Budget Kubernetes Hosting for Personal Use

This is the second post in a series on Modernizing my Personal Web Projects. In this post, I attempt to create a budget Kubernetes hosting setup on DigitalOcean. The goal is to provide everything I need to host my blogs and side-projects for under $50 USD. Let’s go! First Things First: Creating the Kubernetes Cluster The core part of this setup will be a managed Kubernetes cluster. I decided to use Kubernetes for its scalability and ease of deployment. By packaging my WordPress blogs and everything I want to run as containers, I can deploy them on Kubernetes in the same consistent way and let the cluster decide how to run them. If I want to run the same containers locally, or in a testing environment, it’ll be easily portable without having to manually install them on different servers. And more importantly, Kubernetes will ensure my apps are always running, even if the underlying server nodes have problems. That’s a load off my mind that I’ll never have to worry about. ...

August 29, 2021 · 5 min · Mike Cartmell