About

Web garden

These are the early stages of my web garden, a static html rendering of a collection of wiki-like notes that I’m writing in org mode markdown.

See the Changelog and the Site Map for the latest changes.

Software

Hardware

This garden used to run on a little 7+ year-old Raspberry Pi 2 that used to sit somewhere on my home desk in Magdeburg, Germany.

A Raspberry Pi 2
The Raspberry Pi 2 that used to run this server

I’ve since unearthed an even older Raspberry Pi 11 B, with even less RAM (512MB) and only a single core BCM2835. In late March 2023, I transplanted this garden to this grandfather of single-board computers2. It is still sitting somewhere on my desk.

The OS (Alpine Linux 3.16 for armhf) is loaded from an even older and slower 512 MB SD card. However, once it has booted up, the whole operating system is running entirely within the Raspi’s RAM. This “diskless mode” makes any (simulated) file access quite fast, while sparing the extremely elderly3 SD card. Only selected files are occasionally synced back to the card. Most temporary files, including log files, are genereally not preserved between reboots.

A Raspberry Pi 1
The ’new’, even older (first generation) Raspberry Pi that runs this server nowadays. Haven’t found a good place for it yet.

Networking

Networking-wise, the Pi used to be just one of the devices attached to my regular run-of-the-mill home router, where it ordinarily wouldn’t be reachable from the outside Internet. To circumvent this, the Pi in the past simply kept up a (wireguard) VPN tunnel to the cheapest, lowest-spec virtual machine I could rent from the hoster of my choice (for about 3 euros a month). I then pointed the inimeg.space domain name to the VM, which in turn simply forwarded all incoming TCP traffic on port 80 and 443 via the wireguard tunnel to the Pi. Worked like a charm and I could have stopped there.

However, as it turns out, the “customer premises equipment” (aka the home router) that my ISP had shipped to me also supports some more advanced network configurations. I could exclude the Pi from the usual home NAT and have it directly reachable under the public IPv4 and IPv6 addresses that my ISP assigns to my home network at any given time. No more need for VPN tunnels and port forwarding, if I could just keep the inimeg.space domain up to date to always point to my current home IP address(es).

And that turns out to be quite easy and straight forward if you re-use the cheap VM that you rented earlier to run your own DNS server there instead…


  1. In fact it was just called “Raspberry Pi” back then because newer versions didn’t exist yet ↩︎

  2. Of course, there were other, less mainstream SBCs out there before the Raspberry Pi. ↩︎

  3. If I remember correctly, I bought it in 2004 for my first digital camera ↩︎


Pages linking here