Homelab 2025

2025-12-31

The homelab saw its most sustained usage this year, and I've found several applications that are fully replacing cloud services for me or adding new capabilities. I'm working on another post about how I host these services, but for the end of the year this is a quick write-up of the state of the homelab, covering the tools I found most useful.

Hardware

Overall no major hardware changes this year. I'm still using the same Ubiquiti Dream Machine, QNAP 10G switch, a handful of mini PCs for compute, and a Synology for storage. I did have a NIC on one mini PC die, so I waited for a sale on a barebones MS-01 and migrated the RAM and SSD over. As a result, I have a bit more available compute with the Intel i5-12600H (the other PCs are just 4-core N100s) and a PCI-e slot to play around with.

I added two new runs of CAT-5e up from the basement to our downstairs den/office where I've been working. I have my work computer and desktop workstation there.

Depending on how much pruning of data I do on my NAS, I may need to replace a couple of drives to get some more space on my Synology within the next year or so.

Z-Wave and Shelly Relays

We have a couple of places where the electrical wiring in our house falls a bit short. One is the outdoor lights on our detached garage. These provide the majority of the light for our driveway at night, but they run off the panel in the garage and so the only switch is inside the garage.

The second is the upstairs lighting. In the main bedroom, office, and nursery there are no overhead lights, and no light switches which control electrical outlets.

I decided to try solving both of these with smart devices. The garage doesn't have a good solution to making a switch in the house be on the same circuit as the garage lights, and upstairs we would instead be looking at installing recessed lights in the ceiling if we were to do any serious electrical work.

My requirements for the smart devices were that I wanted something that didn't look obviously like a smart switch and that didn't require apps or internet access to work.

Z-Wave seemed to be the best ecosystem that works over its own radio protocols and doesn't rely on WiFI. I bought a few Shelly Z-Wave relays, light switches, and power outlets and got them all automated with HomeAssistant.

Images not shown on home page. Full post

Images not shown on home page. Full post

It's in there somewhere.

I've been impressed with the Shelly relays. They get installed inside the electrical box and take over control of the circuit, using the light switch as an input that can also be used for automation. For the garage, I installed one into the circuit for the lights such that I can turn the lights on and off with HomeAssistant in addition to the real switch. Then I installed a second relay in a switch box inside the house (which only controls a small light by the side door otherwise) and used that as an input to HomeAssistant. Now when I switch on the side door lights for the house, the garage lights come on as well.

Videos not shown on home page. Full post

This works about 98% of the time. Occasionally it seems like something misses the signal and I toggle the light switch again to fix it. There's also a reset procedure of toggling the input switch for the relay five times to perform a reset, which I've only had to do once or twice. Overall I've been very happy with this setup, and it's worked throughout the year at all temperatures. It's also been handy to turn on the outside lights from my phone through the VPN a couple of times when we were away.

Images not shown on home page. Full post

Upstairs, I found some light switches that look just like regular paddle-style switches, but are actually Z-Wave remotes. These got mounted in each of the three rooms upstairs where you'd expect a light switch, and they are paired up with a floor lamp to light their respective room.

Images not shown on home page. Full post

I also bought an outdoor Z-Wave plug for the Christmas lights we put up on the front of the house. I was able to add the switch to the same automation as the garage lights, turning the Christmas lights on and off with the rest of the outdoor lights.

For a hub, I'm using a Zooz 700-series USB controller plugged into one of the mini PCs in my Proxmox cluster. I installed HomeAssistant via an LXC, as this seemed like the easiest way to pass through the USB device, and I haven't had any issues, including migrating the device and LXC across PCs. I run a backup job for the LXC which will hopefully be sufficient to restore my automations if needed, as I really do not want to deal with the HomeAssistant UI again.

Another option is to use a controller that can be connected to the Apple Home ecosystem, turning an Apple TV into a Z-Wave hub. Then instead of HomeAssistant you'd use the Home application to configure your automations. I trust this setup to be available and reliable less than I do my Proxmox and LXC setup, however HomeAssistant has been so difficult to do the most basic operations that I might give this a try at the next house.

The only real downside I've found regarding the Z-Wave hardware is that adopting a device can be really flaky and the best method depends on the device. Typically it's done with a UUID provided by a QR code on a little sticker on the device, and then usually a copy of that QR code is supplied in the box. I've lost at least one of the extra QR codes for the relays in the wall, so I would potentially have to open up the switch boxes and pull out the relays if I needed to adopt them to a new hub. If I remember right there is a discovery mode that you can put the hub in, but I did not have success with this method. I always had to add the device by UUID first, put the device in adoption mode, and then initiate the search. HomeAssistant made this pretty miserable, and there are multiple ways to add a device, only one of which worked, so I always forgot how to do it each time I added a new device.

Software

HomeAssistant

My review of HomeAssistant is mostly included above regarding Z-Wave devices. I really find the UI inscrutable and the most basic things everyone want to use it for (add a device and use it in an automation) is buried behind weird menus and settings. That said, day-to-day it's been rock solid and has a decent iOS application whose dashboard lets me control my lights easily.

The rest of my list is much more favorable:

Paperless-ngx and Swift Paperless

Once I set up solid base for hosting software in my cluster that needed both persistent storage and databases, including reliable backups, I installed Paperless-ngx which is a document management suite. The basic idea is that you scan in your receipts, mail, tax documents, etc, and it helps you organize it and make it searchable via tags, OCR, and other features.

I originally thought I would need to buy a scanner like a ScanSnap, but before doing so I downloaded five or six iOS client apps for Paperless, and found that phone scanning is plenty good enough that there's no need for a dedicated scanner. All the apps seem to use the same scanning engine, probably provided by an Apple framework, and then they each have a slightly different workflow for ingesting and searching through documents.

I ended up favoring Swift Paperless, as it provided the best scanning and naming workflow, and search seemed to work the best (a feature that did not work at all in some clients).

I use it any time we get some documents in the mail, just taking a few seconds to do a scan. You can even omit naming and use the app or web UI later to triage new documents. Once you've added tags to the app, I've found that the auto-tagging feature works quite well.

MiniFlux and Readkit

I love RSS feeds (here's mine!). It feels like a bastion of sanity in the modern web, and it's become my main source of news. Tech news is not terrible to find and consume, but especially for current events all the major apps and websites are nearly unreadable, especially on a phone. I don't use social media and don't want to, which can make it challenging to get important updates. I've subscribed to Political Wire and read it entirely via RSS, even though it's a bit of a firehose of a feed. I maintain a list of blogs, news, and enthusiast sites -- largely from independent publishers -- that I enjoy, and reading the content on my phone via ReadKit is always my first stop. It's also refreshing to sometimes open the app and see that there are no new articles.

For a long time I used NetNewsWire, but I wanted to see if there were more options if I self-hosted some portion of it. I've been using two tools, MiniFlux running as a container in my cluster which maintains my list of feeds and pulls in updates on a schedule, and Readkit on iOS as my primary reading interface. I tried out a few different Miniflux-compatible readers and in addition to having a very nice rendering engine, Readkit has a killer feature which is a button to go fetch the full web page for sites that only provide the first few lines or a summary in the RSS feed. The result is a reading experience similar to the Reader functionality of web browsers, with no ads, redirect loops, or other junk that crashes the browser. It works beautifully and I'm more than happy to pay for a good client application.

Immich

Immich is a photo management tool that can be used as an alternative to Apple Photos or Google Photos. For me though, I don't plan on ever having it be a replacement. Instead, I want to continue to use iCloud photos to interoperate with family members because that's what they will continue to use, and it's the native photos app for all of our iPhones. Instead, Immich has replaced Synology Photos as the best way to create a backup of all of my photos, with a great management interface in addition. The Immich iOS app's "Backup" feature can be enabled, which syncs your iCloud photos over into Immich. This removes my dependence on Synology and gives me the peace of mind that I have a mirrored library at all times for all photos I take or save on my phone.

It also works much better than iCloud/Apple Photos for images taken with my "real" camera, a Canon M50. It can handle RAW photos just as well as JPEGs, which means I can have access to the full resolution originals without taking up any cloud storage. I currently am running a cloudflared container next to Immich to expose it to family members behind Cloudflare Access; again, not as a replacement for another tool, but as a way to share higher-resolution photos.

Navidrome, Mp3tag, and play:Sub

I've been continuing to enjoy using this stack as an alternative to Apple Music or Spotify with my own music collection. Mp3tag was a nice app I found for fixing mp3 metadata, Navidrome serves the library over the subsonic protocol, and after trying out many, many clients, play:Sub has been my favorite iOS player. It even has a CarPlay app so I can stream music from my server over Wireguard to my phone, connected to wireless CarPlay in my truck.

Wireguard and the Wireguard iOS app

Seems a little silly to call out a VPN protocol here, but Wireguard and mainly the Wireguard iOS app get a mention because it works so well for my needs. I run Wireguard on my Ubiquiti router, which also has a reverse DNS hook to update a Cloudflare DNS record with the IP from my ISP, and then I use the Wireguard app on my iPhone. I have it set to connect on-demand when switching to LTE or a non-home WiFi network, which means I have seamless connectivity to my cluster at home. All the apps listed here work perfectly no matter where I am, without any special DNS or needing to toggle anything on or off, which has really made them viable as selfhosted alternatives. I also haven't had any issues with battery life when leaving Wireguard on all the time.

Miscellaneous

Nebula continues to work for WAN hole-punching to connect my Synologys together without needing any configuration on the router at my parent's house. We both use this setup for one set of offsite backups.

I'm testing out Vaultwarden and the Bitwarden iOS app as a selfhosted contingency to 1Password.

Synology Sync has continued to work well as a Dropbox alternative, giving me a local copy of code and projects on my laptop while also having the files available over network mounts. Similar to Synology Photos and Immich though, I want to replace this with an open-source solution. Currently looking into Syncthing.

I've been running unbound in my cluster for a while, providing DNS to my personal devices. I'd like to see if I can improve my experience on some devices by having unbound load community-provided adblock lists and then trial it as the resolver on the household network.

I've been testing Authentik and Pocket ID for single sign-on, but honestly I'm not sure that I want to have all the services behind a single identity. So far Pocket ID providing Passkey logins via Yubikeys and TouchID/FaceID seems promising though.

I run a container registry locally for my cluster which lets nodes pull images without needing to rely on outside registries. If you go this route, just set up a publicly-trusted TLS certificate from Let's Encrypt that the registry serves, this is a far better solution than trying to add overrides for insecure registries.

Versity Gateway has been working well as an S3 endpoint that dumps the data directly to my NAS. I've been testing this out as a replacement for both TimeMachine and Arq + Backblaze B2. The Versity Gateway endpoint works as a backup location in Arq to send the files to my NAS which I can then back up along with the rest of the data there.

I set up a Forgejo instance for personal git hosting. Not sure how much I'll use this but so far it's been preferable to all the alternatives available.

Code-Server has been an interesting experiment for providing a web-based IDE across all my machines. VS Code is not my favorite but it works well enough in this context.

I've been testing Jellyfin, ErsatzTV, and the SenPlayer client application for setting up my own streaming TV. The idea is to have local stations with educational programming and cartoons that are ad-free for the kid.

I tried out the latest versions of a whole bunch of Linux distributions and window managers for use on my workstation. I landed on Fedora Cinnamon and have been very happy with it. I didn't take notes during the trial process but there were so many bugs with so many distributions that it was a little surprising. Some of this was the fault of me running a NVidia card and using proprietary drivers, but many other non-gpu based issues like installers failing, window managers completely locking up immediately on login, etc. Anyway, I'll be staying on Fedora Cinnamon for the forseeable future.