Last updated: February, 2026
An up-to-date inventory of the tools and technologies I use in my home lab and recommend to others.
Home Network and Operating Systems
- Unifi - Solid networking gear for my router, network switches, and access points.
- Debian and Raspberry Pi OS - My favorite Linux “server” distributions.
- Debian Testing - My current Linux “desktop” distribution which moves a little faster for my daily productivity computers.
- Wireguard - A simple, secure, and fast VPN tunnel I use to access my home network.
- supported natively by recent Unifi and OpenWRT versions
- can create VPN tunnels between home and remote networks
- Android application for mobile
Core Hosting and Management Infrastructure
- Ansible - All of my personal machine and self-hosted infrastructure is managed via Ansible. I’ve found it is not that much harder to use Ansible for the initial installation and set up of a service. Then I also get an easy mechanism to update and re-install it when migrating hardware.
- two sets of playbooks - one for my laptops/desktops and one for my servers
- Backblaze B2 - Inexpensive cloud storage for my backups.
- Chrony NTP - An improved NTP server to sync time across devices.
- Cloudflare - My domain registrar, external DNS provider, etc.
- ddclient - Keeps my home network’s dynamic IP address updated in external DNS so I can connect to it remotely.
- Dnsmasq - Inspired by Pi-Hole, an internal DNS server for managing local network DHCP, DNS, and network wide ad-blocking.
- GitHub - Git repositories for everything public or open-source. Private repos are self-hosted (see below).
- Mosquitto MQTT - An open source MQTT broker used by Home Assistant, Frigate, IOT devices, etc. to provide asynchronous pub-sub messaging.
- PocketID - A simple single-sign-on solution to provide authentication to self-hosted apps via passkeys.
- integrates with Traefik for proxy authentication
- Podman - Recently replaced my use of Docker across my self-hosted services. It was an easy migration and I haven’t missed Docker.
- Quadlets are a great way to orchestrate containers using systemd and have replaced my use of compose files
- Prometheus and Grafana -
If you run software you also should be sure to have monitoring and alerting set up to let you know when there is a problem and provide historical data for troubleshooting.
- local hardware and application monitoring and alerting
- remote website monitoring (such as monitoring for this site)
- TLS certificate expiration alerts
- backup monitoring and alerting
- Restic Backup - A modern backup program to perform incremental, versioned, and encrypted backups to the local network and/or the cloud.
- Traefik - Since the majority of my self-hosted software runs in containers, this provides the key routing and proxy logic including:
- automated and centralized TLS certificate management via Let’s Encrypt
- subdomain routing to specific containers
- configuration via static files and/or container labels
Self Hosted Apps and Services
- Atuin - Backup, sync, and search my shell history across all of the hosts I use.
- FreshRSS - It is nice to realize a RSS reader is still useful over a decade after Google killed Reader.
- Frigate - A network video recorder that leverages AI object detection for smarter security camera alerting.
- publishes camera events via MQTT
- capture Prometheus stats via a custom exporter
- Forgejo - A great place to store all of my private Git repos.
- Home Assistant - The home automation software I’ve been running for almost a decade. A great project which I believe will continue to be a big success.
- large ecosystem of plugins that provides integration with internal lights and switches, heating and cooling, water heater, landscape lighting, flood detection, motion sensors, solar monitoring, security cameras, espresso machine, etc.
- automations written in Python with Pyscript
- Homer - A simple static dashboard that runs at the root domain with links to all self-hosted apps.
- Immich - Photo and video management application to store, organize, and search all of you personal content. A great self-hosted replacement for Google Photos.
- Jellyfin - A newer and open media software used to record over-the-air TV.
- Obsidian - A simple app that keeps my notes in an open format (Markdown). Organized in a standard directory structure which is then synchronized across devices with Syncthing.
- Paperless - My place to store longer term docs (mostly PDFs) for historical reference. Text extraction and search is also quite good.
- Syncthing - Because I work across many devices, file sync has always been a key tool I use every day. Syncthing is stable, secure, and everything I need in a file sync solution.
- configured as a “star” sync layout - one central “server” that is always running with each client connecting directly to it
- Vaultwarden - Password management for myself and my family in a nice and simple self-hosted solution.
- Wealthfolio - Self-hosted investment tracker - with a simple and nice UI.
Smart Home Hardware
- Emporia Vue - Circuit panel based home energy monitor.
- see my post on Flashing my Emporia Vue 3 with ESPHome for an overview of how to flash with custom firmware to make it local-only
- ESP32s and ESP8266s - Embedded SOCs used for custom home automation projects
- see my post on automating my garage door with an ESP32 and ESPHome for an example
- FXLuminaire - Outside low voltage landscape lighting controlled by Home Assistant.
- GLiNet Comet POE KVM - Remote KVM to access hardware via monitor and keyboard/mouse remotely.
- bonus that this runs OpenWrt so I can access via SSH and customize just like a router via Ansible.
- Kasa Switches and Plugs - Smart switches and plugs which are controlled by Home Assistant.
- Shelly Relays - Smart relays which can be powered by line voltage (no USB transformer needed) for projects like automating my in-floor heating.
Other Tools
- Framework Laptops - A great vision for easily customizable, upgradeable, and repairable hardware at a reasonable price. Basically all the things that I dislike about Apple hardware.
- HDHomeRun - Network TV tuner to use with Jellyfin for over the air TV recording.
- IntelliJ IDEA Community Edition - My favorite Java IDE that also is flexible enough for most other editor tasks.
- I’ve been a long time user of the Community Edition and don’t find it lacking anything important (so long as you don’t write much Javascript)
- OpenWRT - I repurposed an old Asus Wifi router for a remote location and flashed it with OpenWRT. It has been a great way to extend the life of an old device.
- Ansible to manage the config
- Wireguard tunnel to connect remote location with home network
- Zed - A nice clean and fast editor that has mostly replaced my use of IntelliJ.
Retired (The Archive)
Tools I previously used but have moved on from.
- Dropbox, Google Drive, Owncloud, NextCloud, etc. - I’ve used or run each of these and for various reasons have left them behind and now use Syncthing instead.
- Eclipse - When I started building Java apps this was the defacto standard. Around ~2010 it seemed like 90% of Java engineers I knew used it. By 2012 it seemed like 90% of Java engineers had moved to IntelliJ. It just didn’t seem to evolve with the times.
- Docker and Docker Compose - I started using Docker in 2013 and was a big fan for quite a while. Feels like they are now in the en****tification phase of their lifecycle and I’d rather support fully open-source versions of containerization like Podman.
- Evernote, Google Keep - Can’t think of many times I’ve heard someone speak fondly of Evernote recently. They were one of the reasons I wanted to move to a simple and open standard format for all of my notes. Haven’t heard too many complaints with Keep, but I prefer having my notes local on my devices and sync via Syncthing.
- Windows Media Center, Plex - Both of these were great, but Microsoft decided to give up on one and Plex has really ruined the other.
- Belkin Wemo Smart Switches, Plugs, and Bulbs - These were my first attempt at automating lighting around my house. They were never reliable and a pain to manage - I’d recommend avoiding Belkin smart home products.
- Fedora - I used this for a while as my daily driver OS but switching context between Debian servers and Fedora on my laptop(s) was annoying. Debian Testing has been a good replacement.