I Don't Maintain My Homelab - cleberg.net
">
Skip to content
2026-06-26
I Don't Maintain My Homelab
I don't maintain my homelab... it maintains itself.
Table of Contents
1. Infrastructure
1.1. Server
1.2. Network
2. Software
3. The Outcome
It's true. I don't maintain my homelab… it maintains itself.
Have I reached nirvana? Is this the ultimate goal of homelabbers? It seems<br>that I've somehow automated myself out of a job (hobby?) by building a resilient<br>homelab.
Let's figure out where it all went "wrong".
1. Infrastructure
1.1. Server
I have used a few different servers over the years, but have since consolidated<br>all of my services onto a single server (build guide here), reducing the<br>complexity of my environment.
Because of the single-server setup, maintenance is down 75% (from four<br>servers to one). Yes, clusters and hypervisors and hybrid cloud solutions are<br>shiny and fancy and popular, but I just don't care for it. Instead, I have a<br>single metal box I can pick up with my hands sitting in my basement.
I do have one more "server": a Raspberry Pi 4, but it uses Home Assistant OS,<br>updates itself, and requires literally zero maintenance. Is that really a<br>server? I guess, by technical definition. But it certainly doesn't feel like it;<br>it feels like I've turned a potential server device into a self-sustaining IoT<br>device instead.
1.2. Network
Aside from the server itself, I have a mini rack of UniFi gear (server is in the<br>same rack). A UniFi Dream Machine Pro, a switch, and a couple of access points<br>(APs) constitute my personal data center sitting in my basement.
Again, it really just maintains itself. UniFi supports automatic and scheduled<br>updates, allowing you to disconnect from any manual maintenance of the hardware.<br>UniFi truly is a "set it and forget it" platform.
2. Software
There's a single crontab line on my server, which runs all updates for my Docker<br>services on a weekly basis.
0 0 * * 0 docker-update
I do run a few crontab schedules via the root user as well, to account for<br>permission issues. These jobs are really just for backups, to be honest. I've<br>never required a backup, but it's good to be safe.
# Generate a daily system report<br>0 8 * * * /home/cmc/daily_sys_report.sh
# Backup<br>SHELL=/bin/bash<br>PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
## App-aware database dumps<br>45 1 * * * mkdir -p /tank/cloud/server/backups/immich && sudo docker exec -t immich_postgres pg_dumpall -U postgres > /tank/cloud/server/backups/immich/immich-postgres-$(date +\%F).sql<br>50 1 * * * mkdir -p /tank/cloud/server/backups/piped && sudo docker exec -t piped-postgres pg_dumpall -U piped > /tank/cloud/server/backups/piped/piped-postgres-$(date +\%F).sql
## Backup files to ZFS pool<br>0 2 * * * rsync -aHAX --delete /var/lib/plexmediaserver/ /tank/cloud/plexmediaserver/<br>5 2 * * * rsync -aHAX --delete /var/www/ /tank/cloud/server/web_server/<br>10 2 * * * rsync -aHAX --delete /etc/nginx/ /tank/cloud/server/nginx/<br>15 2 * * * rsync -aHAX --delete --exclude='**/postgres/' --exclude='**/postgresql/' --exclude='**/mysql/' --exclude='**/mariadb/' --exclude='**/redis/' --exclude='**/valkey/' --exclude='**/database/' --exclude='**/cache/' --exclude='**/tmp/' --exclude='**/logs/' /home/cmc/docker/ /tank/cloud/server/docker/<br>20 2 * * * rsync -aHAX --delete /home/cmc/.ssh/ /tank/cloud/server/ssh/
Aside from this, the only other required updates are running apt update and<br>potentially restarting. This requires about 60 seconds of time whenever I want<br>to do it.
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
3. The Outcome
So, what's the end result? I've approximated it somewhere around 15 minutes of<br>maintenance per month, barring an emergency.
If that's normal to you, congrats - you've peaked in life. However, that's<br>absolutely absurd to me. I used to spend days on end building, maintaining, and<br>debugging various aspects of my servers, databases, apps, etc.
You know what's even crazier? If I don't have 15 minutes in a month to ssh into<br>my server and update things, it literally does not affect anything. I could<br>probably go 6 months (maybe more?) without touching it and it wouldn't break.
(This is not a challenge, please don't break my server.)
What a great situation to be in - especially for someone who's become as busy in<br>their career as I have. I feel like I've struck a fantastic balance between<br>privacy, security, and convenience.
Reply via email →