homelab-inventory

homelab-inventory

A dashboard for your homelab. An agent on each Linux host reports containers, disks, ZFS, Proxmox, ports and packages every 15 minutes.

The dashboard below runs on an example fleet of six hosts.

The dashboard's overview: two streams playing, the load on apps, seven alerts, the alerts that need attention and the storage forecasts The dashboard's overview in the dark theme

What you get

Disk forecasts

When each filesystem, ZFS pool and Proxmox storage will be full, from the last 14 days of reports.

Storage on the home page, with a forecast for each disk: / on apps full in 14 days, tank on vault in 267 days Storage on the home page, with a forecast for each disk: / on apps full in 14 days, tank on vault in 267 days

Alerts

Full disks, failed units, unhealthy containers, ZFS scrubs and backups. Apprise notifies you when one starts or clears.

Alerts page: 4 warnings across 6 hosts, a restarting container and a disk at 86% Alerts page: 4 warnings across 6 hosts, a restarting container and a disk at 86%

Service launcher

A tile for every web service it finds listening on your hosts, with its icon and address.

Services: tiles for Overseerr, Plex, Radarr, Sonarr, Tautulli and Immich, each with its icon and address Services: tiles for Overseerr, Plex, Radarr, Sonarr, Tautulli and Immich, each with its icon and address

Host pages

One page per host, one section for each thing it reports: alerts, facts, storage, containers, stacks, the port map, images, packages, what changed and compose files.

The page for host apps: tiles for alerts, listening sockets, containers and runs, then one section each for alerts, agent updates, facts, storage and containers The page for host apps: tiles for alerts, listening sockets, containers and runs, then one section each for alerts, agent updates, facts, storage and containers

Signed agent updates

Optional, per host. Canary hosts try a signed release first. A host whose trial fails keeps its last good agent.

atlas#2 canaryCurrent
dns#2Current
files#2Current
apps#1 → #2Updating
edge#1Behind
vault#2 → #1Rolled back

Plugins

Media, network, uploads, Cloudflare and more. Each one stays off until you turn it on.

Admin, Plugins: each plugin with its settings and an on or off switch; Media and Network are on Admin, Plugins: each plugin with its settings and an on or off switch; Media and Network are on

Run the installer.

curl -fsSL https://github.com/ficaa1/homelab-inventory/releases/latest/download/get.sh | sh

Open the address it prints.

Add each Linux host.

Hosts report every 15 minutes.

Commands the agent runs

The agent runs only these programs, with these arguments. Anything else is refused before a process starts.

dockerversion, ps, inspect
zfslist, get, version
zpoollist, status, get, version
smartctlhealth reads
qm, pctconfig, list, status
pveshget
pve-firewallstatus, compile
pveversionno arguments
systemctllist-units, list-unit-files, list-timers, show, cat
journalctla fixed kernel window
ss, netstat-tulpn, -tuln
nftlist
iptables-save, unamefixed arguments

Install on a
Linux server

curl -fsSL https://github.com/ficaa1/homelab-inventory/releases/latest/download/get.sh | sh