nox.sh

Matt's ramblings

Homelab 2026: Six Months Later

Back in February, I wrote about simplifying my homelab. Since then I bought the MacBook, changed how all my files sync, redid the backups, and deleted a few services I had just set up. Pretty standard for me.

Network

Unifi everything. This part is basically unchanged.

The VLANs haven’t changed:

VLAN Purpose
1 Management (infrastructure only)
10 Trusted (my devices, full access)
20 Less Trusted (family, limited)
30 IoT (isolated)
100 Servers (accessible from trusted)

I’ve never exposed services directly from home. The blog and Matrix still live on a Hetzner VPS, and the home network stays home.

Services

I tried a few more things, but somehow the list got shorter:

Bitwarden Lite, which was the shiny new thing in the February post, is already gone. I moved to 1Password. Bitwarden itself worked fine, I just didn’t want my password manager depending on my own infrastructure staying up.

Immich and Navidrome also came and went. Both are cool, I just wasn’t really using either of them. No reason to keep containers around so I can look at them on Homepage.

Hardware

The OVH dedicated server from the previous post is gone. The Monero node was neat, but I wasn’t using the rest of the server enough to justify keeping it.

Data and sync

My Arch workstation and MacBook sync four boring folders directly over the LAN:

notes
records
pics
inbox

Syncthing moves those folders directly between the two computers. There’s no mounted NAS share and no always-on sync server in the middle anymore.

I did briefly build a Debian LXC to act as that middlebox. It gave me another copy of the data, but also another machine and backup job to care about just so two computers could sync. I destroyed it and connected them directly.

Code moves through Git, dotfiles through chezmoi and GitHub. Photos land in iCloud. Old dormant stuff sits in an encrypted archive on the NAS, and junk goes in ~/dl or /tmp where it belongs.

The Mac keeps normal macOS paths and Arch keeps my lowercase Linux layout. I originally tried making the paths identical, which was pointless. Syncthing matches the folder IDs and doesn’t care where they live.

Backups

The February setup copied the workstation to the NAS with rsync, then relied on the NAS to send everything offsite. I changed that quite a bit:

Arch $HOME ──Restic──→ NAS
          └──Restic──→ B2

NAS archive ──Restic──→ B2

Proxmox guests ──vzdump──→ NAS

Resticprofile runs the workstation jobs with systemd user timers. Missed runs catch up after boot, and healthchecks.io complains if a job goes quiet. The workstation’s B2 credentials are limited to its own bucket, with file versioning behind it in case something gets deleted or pruned.

I also restored and compared a real file from all three Restic paths. I used to run restic snapshots, see a list, and call that verified. That only proves it can read the repository metadata.

The Mac’s machine-specific state is the weak spot right now. The synced folders make it into the Arch backups, but local-only files still need Time Machine to the NAS.

What’s next?

Time Machine to the NAS is next. I also need to export iCloud Photos into the NAS-to-B2 path and fix the DNS failover check. Keepalived currently knows whether Pi-hole is running, not whether it is actually answering DNS, which is how I already managed to have “HA DNS” and a full DNS outage at the same time. Lovely.

I’m trying not to invent any new projects until those are done. No Kubernetes cluster, second Proxmox node, or random storage migration because I got bored on a Sunday.

This is a snapshot of July 2026. I’m not going to quietly rewrite it every time I delete another container. :)

Last updated: July 2026