Automated backups that work are mind-liberating! I'll share in this and the next post how I've solved it for my use case
in my homelab.
In this first post I want to explain my goals and my overall setup. In the next post I'll explore in detail how I
handle encryption. I'd also love to hear how you handle your backups: share in the comments.
What does my system solve?
I like to think of my backup system in terms of the thread model against
the chaos and karma of the world. Which kinds of problems do I want to be protected against? After showering a couple of
times, I informally had a list on my head. Here it is, transcribed:
- if I do something dumb, like deleting all my photos by accident, I want to recover that data (true story: when
migrating from Google Photos to Nextcloud, I've removed the wrong folder 😇).
- if my machine breaks, I want to recover my data
- if my house catches fire, is looted, or transforms itself into a pumpking (not true story), I want to recover my
data
- if a stranger has access to any of the disks, they must not be able to access my data
- if ransomware compromises my server, they cannot erase my backups
- if I'm not available or just lazy, the system should mostly continue to work
- if the system has problems, I should be notified
- if the system silently stops running, I should notice
- if in-disk data is inconsistent while the owner app is running, it must be stopped to flush the data
- if a copied file gets corrupted or rots, it should be identified
- if the writing patterns on the disks are similar, they should not fail at the same time due to correlated wear
and tear
... continue reading ...
This is a quick post just to share how much my homelab costs me.
Since it's an old laptop tucked near the fridge, one can guess it's not a lot. But I've got measurements!

I've measured 3.382 kWh in 11 days 3 hours and 54 minutes (=267.9 hours), so an average of a bit less than 13 W. In
a 365-day year, this adds up to 110.6 kWh.
My current energy contract has a fixed cost and a per-kWh cost that depends on the hour of the day:
|
Cost |
| fixed |
15,65 € |
| 03:40 - 07:40 and 12:40 - 16:40 |
0.1579 € / kWh |
| the rest of the day |
0.2065 € / kWh |
... continue reading ...
I'm a happy user of Forgejo and I host it on my homelab
at git.sitegui.dev to store all my open source code (including this very same page).
However, as many other hobbyists
and major projects,
I have noticed an uptick in the number of crawling requests that my instance serves. My homelab is
literally an old laptop close to the fridge, so I could hear
the extra load (and it also doesn't help that Europe is
scalding with 16 degrees above average temperatures for May).
I saw an increase from an average of 1 000 requests a day to 200 000. The issue is not only the number of requests,
but their nature: these bots go over the whole git history to navigate the whole tree of files for each commit. They
also request a lot of repo archives that are expensive to generate.
The robots.txt clearly forbids bots to navigate to these pages:
User-agent: *
Disallow: /*/*/src/
Disallow: /*/*/archive/
... continue reading ...
This very website is served from my home by an Ubuntu Server running on old hardware behind my fridge:

I've talked in a local dev meetup about my setup, you can check the slides
here:

My homelab is at the same time a "production" environment for my digital life and "staging" environment for all sort of
crazy project that I want to play with. It's amazing what 10-year-old hardware is capable of!
... continue reading ...