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.
- Fedora - My current Linux “desktop” distribution which is well-supported on my hardware of choice.
- 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
- Cloudflare - My domain registrar, external DNS provider, etc.
- GitHub - Public and private Git repositories for everything I do.
- there are good self-hosted options but I haven’t felt a need to host them
- 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.
- Podman and Podman Compose - Recently replaced my use of Docker across my self-hosted services. It was an easy migration and I haven’t missed Docker.
- will look at replacing compose with Quadlets once Debian upgrades to Podman 4.4 or above
- 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
- PocketID - A simple single-sign-on solution to provide authentication to self-hosted apps via passkeys.
- integrates with Traefik for proxy authentication
- Mosquitto MQTT - An open source MQTT broker used by Home Assistant, Frigate, IOT devices, etc. to provide asynchronous pub-sub messaging.
- 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
Self Hosted Apps and Services
- 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
- Vaultwarden - Password management for myself and my family in a nice and simple self-hosted solution.
- Frigate - A network video recorder that leverages AI object detection for smarter security camera alerting.
- publishes camera events via MQTT
- 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
- 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.
- Jellyfin - A newer and open media software used to record over-the-air TV.
- Homer - A simple static dashboard that runs at the root domain with links to all self-hosted apps.
Smart Home Hardware
- Kasa Switches and Plugs - Smart switches and plugs which are controlled by Home Assistant.
- FXLuminaire - Outside low voltage landscape lighting 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.
- ESP32s and ESP8266s - Embedded SOCs used for custom home automation projects such as automating my old garage door opener, Mitsubishi ducted heat pump, etc.
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.
- 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
- HDHomeRun - Network TV tuner to use with Jellyfin for over the air TV recording.
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.