Sunlight to Server

Charting my Course for a Low-Impact Web Presence

With the hectic clamor of summer and fall coming to a close, it seems I can once again dream up projects that might actually come to fruition. I’ve been tossing around an idea for a while now, heavily inspired by Low<-Tech Magazine and their solar-powered website, of self-hosting my website locally on a small Kubernetes cluster.

The major motivation for this project comes from a desire to reduce my impact and explore how we can exceed the value provided by turn-key solutions and profit motivated corporations. As we barrel down the tracks towards climate catastrophe and are ultimately consumed by the Goliath that is capitalism, I can hold my head above water even if for a minute and claim that this is one of my small efforts towards sustainability.

Hardware

Compute

The core of the platform will be a set of four Odroid-MC1 devices. These were originally intended for the purpose of small, personal clusters. I have successfully used K3s on top of Armbian for learning the basics of Kubernetes by running cloudflared for DoH to back my Pi-hole.

Power

I have experience with more complex solar setups but for the sake of keeping things simple and cheap, my eye falls on a Renogy 10A charge controller. This is plenty of allowance for even a relatively large panel. I have an old ~20Ah SLA batter kicking around somewhere in the dungeon I can resurrect as well. Together these should get me going.

Software

OS

The current choice is Armbian as there is excellent support for these boards with relatively recent kernels.

Web Server

I’m leaning towards Nginx since I’m not super familiar and would like to learn. Apache is my comfort zone and I’ll come back to that if necessary or I get too lazy. If I remember correctly, these boards are arm32v6 and both webservers have container images for this architecture.

Kubernetes

Here I’ll be leaning on the wonderful K3s project for these tiny systems. This is should be obvious.

Cluster Datastore

I’ll probably stick with etcd for now but have used a Postgres database previously. This will depend on whether I replace my aging NAS disks.

Text Editor

Vim.

Closing Thoughts

Yes, this is needlessly complex for my website and traffic. What can I say? I like to learn and I’ve got the devices hanging around collecting dust.

This is by no means an exhaustive exploration of my idea and it will flesh out over time. I’m slow at executing projects so this likely will be a long time in the works with plenty of time for updates and changes.