Skip to content

Software candidates

This page tracks the software considered for each need of the home lab, keyed by need rather than by tool, so it answers "what do we use, or could use, for X". It complements the todo list in the specs index: only active evaluations become todo items there, and the rows below link to them.

The Decision column uses these values:

  • settled: the tool in use is the choice; candidates stay as alternatives.
  • open: an active todo item exists, linked from the row.
  • backlog: no current need; options parked.
  • deferred: blocked on a prerequisite named in the row.
  • conditional: depends on a stated condition.

Platform and virtualization

Need In use Candidates Decision
Hypervisor Proxmox VE Incus settled; Incus if Proxmox is reviewed
Guest backups restic for data Proxmox Backup Server backlog
Multi-node management Proxmox cluster Proxmox Datacenter Manager backlog
Host operating system NixOS, Debian gokrazy for appliances settled
Workloads on Debian hosts Docker Compose Dockge, Dozzle backlog
Kubernetes distribution none Talos Linux, Cozystack deferred: no cluster
Kubernetes GitOps and storage none Argo CD, Flux, Longhorn, MetalLB deferred: no cluster
Kubernetes extras none KubeVirt, Knative, kube-fledged, git-sync, Score, LitmusChaos, External Secrets Operator deferred: no cluster

Provisioning, automation, and CI

Need In use Candidates Decision
Host provisioning Terraform, Ansible, nixos-anywhere, disko none settled
NixOS deployment and fleet tooling nixos-rebuild from the operations shell deploy-rs, Clan, Home Manager, nix-topology backlog
NixOS ephemeral root none impermanence, preservation backlog: the hl02 VM
Ansible execution and reporting manual runs Semaphore, ansible-pull, ARA Records Ansible, Telegram module for run notifications backlog
Workflow orchestration systemd timers Kestra deferred: evaluate a self-hosted CI runner first
CI and dependency updates GitHub Actions, Dependabot, Renovate Gitea, Forgejo, act backlog
Infrastructure tests NixOS integration tests, Molecule Testinfra, Monkeyble backlog
Dynamic DNS none ddns-updater, cloudflare_dns module, community.dns collection backlog
Documentation MkDocs BookStack settled

Networking and remote access

Need In use Candidates Decision
Router and firewall OS Asus stock firmware with scripts OPNsense, pfSense, VyOS open: detailed review pending
Recursive and authoritative DNS Unbound, CoreDNS Technitium settled
DNS filtering none Pi-hole, AdGuard Home, Technitium open: ad blocking todo
Upstream resolver none 1.1.1.1 backlog
Remote access and mesh Tailscale NetBird, Yggdrasil, Pangolin for public exposure settled
Reverse proxy none; the Traefik image is pinned Traefik, Caddy, Nginx, TsDProxy open: Traefik with Tailscale certificates todo
VPN egress for downloads none Gluetun with a provider: Mullvad (Tailscale integration), Proton VPN (Stealth protocol), OVPN, TorGuard; Privacy Guides VPN comparison backlog
Inventory and IPAM Ansible inventory NetBox backlog
New-device alerting none NetAlertX backlog
Router scripting asuswrt-chkwan jacklul/asuswrt-scripts backlog
LoRa mesh none Meshtastic backlog: hardware

Security, identity, and secrets

Need In use Candidates Decision
Single sign-on none Authentik, Keycloak, Zitadel, Authelia, OAuth2 Proxy forward authentication, FreeIPA for a Linux domain open: centralized user management todo
Certificates self-signed on Proxmox step-ca, acme.sh, minica, XCA, Dogtag PKI open: Proxmox certificates todo
Secrets at rest untracked vault and tfvars files Hashicorp Vault, sops and age, sops-nix, agenix conditional: a private or self-hosted repository for the encrypted-in-Git options
Password manager none Vaultwarden backlog
SSH keys in hardware none ssh-tpm-agent backlog
Intrusion prevention fail2ban CrowdSec settled
Endpoint visibility none osquery, Fleet backlog
Docker API exposure none Docker Socket Proxy open: Docker socket hardening todo

Monitoring, logging, and notifications

Need In use Candidates Decision
Metrics, alerting, dashboards Prometheus, Alertmanager, Grafana, exporters Netdata settled
External heartbeat UptimeRobot, to verify Healthchecks.io, Uptime Kuma, uptimerobot module open: dead-man's-switch todo
Uptime checks and status page blackbox exporter Uptime Kuma settled
Disk health smartmon exporter Scrutiny backlog
Proxmox status none Pulse backlog
Bandwidth none speedtest-exporter backlog
Log aggregation journald per host Loki, LogWard, Fluent Bit open: Loki todo
Notifications Telegram via Alertmanager ntfy, Gotify, Apprise, Mailrise settled
Service dashboard none Homepage, Homarr, Homer open: dashboard todo

Backup and storage

Need In use Candidates Decision
Data backup restic, Syncthing offsite Backrest settled
ZFS snapshots and replication none sanoid and syncoid backlog
Long-term archive none Perkeep, git-annex backlog
File sharing Samba on the NAS containers Nextcloud, File Browser settled

Media and reading

Need In use Candidates Decision
Video library and requests Jellyfin, Jellyseerr, Ombi, the arr stack, qBittorrent Tdarr, Bazarr, Unpackerr, qbit_manage, FileBot settled; companions backlog
Music none Navidrome, Lyrion Music Server, MusicBrainz Picard backlog
Podcasts and audiobooks none Audiobookshelf, AntennaPod sync backlog
Ebooks and comics none Calibre-Web and the Calibre-Web Automated fork, Kavita, Komga with komf, Comixed, LANraragi, Mihon as the Android client backlog
Retro games none RomM backlog
Game streaming none Sunshine and Moonlight, Apollo and Artemis, Parsec backlog
Photos none Immich open: Immich todo
Other downloads none Amule backlog
TV ad skipping none iSponsorBlockTV backlog

Documents and productivity

Need In use Candidates Decision
Documents and PDFs none Paperless-ngx, Stirling PDF backlog
Notes Markdown in Git Joplin Server settled
Feeds, bookmarks, change tracking none FreshRSS, Linkwarden, Karakeep, changedetection.io backlog
Household none Mealie, Homebox, Firefly III backlog
Messaging none Synapse backlog
Local AI none Ollama with Open WebUI backlog: needs a GPU
Wake-on-LAN none UpSnap backlog

Smart home and hardware projects

Need In use Candidates Decision
Hub and sensors Home Assistant, Mosquitto, Zigbee2MQTT, Frigate home-assistant-matter-hub settled
Legacy alarm system none rtl_433, Konnected, ESP32 with LoRa for 433 MHz backlog: hardware
Out-of-band management the pve2 BMC PiKVM, Apache Guacamole backlog