This website now runs on our own cluster
Since 25 September 2026, onpit.de no longer comes from rented web space but from our own cluster: five Raspberry Pi 5 in a rack. If you are reading this, one of them just served it.
How it is set up
The Pis have no public IP address, on purpose. There is exactly one way in from outside: a small server at Hetzner in Nuremberg. Traefik there accepts the request, gets the certificate from Let’s Encrypt and passes the request to the Pis over an encrypted NetBird network. All outbound traffic from the Pis leaves through that server too.
The website itself is deliberately plain: static HTML built with Astro and served by nginx. No database, no cookies, no tracking, no fonts from third-party servers. Two copies run on two different Pis.
The failure test
We don’t like claiming what we haven’t tested. So:
- One copy deleted while we requested the page every second: 12 of 12 requests got through.
- All copies switched off: after about 9 seconds the Hetzner server showed a fallback page (“onpit ist gleich wieder da”). In the seconds before that there were errors, because the server only checks every ten seconds whether the Pis still answer. After switching back on, the site was back within about 6 seconds.
The mistake we only found while testing
The site wasn’t reachable over IPv6. The reason was mundane: Hetzner gives the server a whole IPv6
network, and the server’s own address in it is …::1. Our DNS record, however, pointed to …::,
the address of the network itself, where nothing answers. The mistake was already in the old
record, and we simply copied it when creating new ones.
The lesson: before writing any AAAA record, check on the server which address it really has
(ip -6 addr), and test IPv6 separately. A laptop without IPv6 will never tell you about this kind
of error.
What’s still missing
A full restore test from backup is still to come. We’ll write here how it goes.