Hosting

Hosting

I host a lot of things. My own mail server, two authoratative dns servers, http server, gemini server, pleroma server. In every case, I have an individual Raspberry Pi from the mountain of Raspberry Pi’s I have amassed over the years running that and solely that. Realistically, one Pi could run everything - I’d save some change on electricity too. But these servers were brought up one at a time, over a very long period, and in some cases (like my dns servers) I’ve done some awful things to get newer, unsupported versions of software.

※ 2021-02-27: Since this post was made, I’ve made some sweeping changes. I’m not currently running a Pleroma instance, although I do intend to resurrect it at some point. My authorative nameservers still handle awk.is, but will eventually be repurposed as I finish moving everything to piconet.co.uk. While for now I do still own awk.is, it will eventually lapse. Links in this post are kept for posterity, and my own nostalgia.

※ 2021-03-20: Regular service has since resumed.

Email

My email used to be hosted at home, on a static IP provided by my ISP. However, despite all possible efforts, Microsoft still felt the need to bin my outgoing emails. Communication with Microsoft came to nought. After which I migrated my configuration to a VPS provided by Mythic Beasts. An English company most likely known for hosting things for the Raspberry Pi foundation. The mail server runs Dragonfly BSD, on top of which I run OpenSMTPD and Dovecot.

HTTP(S)

My blog is an unobtusive corner of the internet served by a Raspberry Pi running Nginx. As I also host two other publicly-accessible services, it is configured to act as a reverse-proxy for both tcp/1965 (for this blog on geminispace) and http/443 (for my Pleroma instance). Certificates are handled via letsencrypt.

Gemini

The other side of my blog, the cooler text/gemini side, I have another Raspberry Pi running gmnisrv. I did originally plan to use DragonflyBSD for this, but gmnisrv does not support LibreSSL. Or rather LibreSSL doesn’t support functions that gmnisrv requires. Certificates are handled by gmnisrv.

ActivityPub

Outside of my blog, I do run a Pleroma instance. This is largely just to follow interesting people and curate content, so I don’t provide account. Pleroma is low maintenance, and seems to run very well on a Pi 4. So far there have been no instances where I’ve mangled the service so badly I’ve had to blat the database.

DNS

As ISNIC will tell you, you must have two authoratative DNS servers on different addresses if you want to hold a .is domain. It’s a sensible requirement. Two Raspberry Pi 4’s in two locations are set up with cz.nic’s Knotd. Knotd handles DNSSEC signing and key rotation, so it is also very low maintenance. Although there have been a few instances where I’ve ended up with a zonefile that couldn’t be loaded, and I had to use a backup and repopulate more recently added records.

Plans

Inspired by Low<-Tech Magazine, I’d quite like to migrate at least this blog to solar power. Quite how possible that is with English weather, I don’t know. But it’s an interesting avenue to go down.