Skip to content

Inventory

Inventory of homelab and personal assets: server/PC hardware and registered domains.

Summary

Generated from the CSVs by scripts/inventory-md.py:

  • Components: CPUs, motherboards, GPUs, PSUs, RAM, storage, NICs
  • Network: switches
  • Domains: registered domains by renewal date

Source CSVs

File Contents
hosts.csv Machines that run an OS: custom builds, prebuilts, SBCs
network.csv Switches
domains.csv Registered domains
components/cpu.csv CPUs
components/motherboard.csv Motherboards
components/gpu.csv Discrete GPUs
components/psu.csv Power supplies
components/ram.csv RAM (DIMM/SODIMM)
components/storage.csv HDDs and SSDs (NVMe, SATA, mSATA)
components/nic.csv Add-in NICs

IoT devices are not tracked yet.

Conventions

CSV designed to be able to put in a relational DB in future to map server to component to track what uses what and stuff like that.

  • one row per physical unit (no quantity, this way can map server -> component properly)
  • if a part can move between machines, it's a component. Parts that can't (e.g. SBC SoC/RAM, soldered mini-PC CPU) go in the host's builtin_spec
  • link used component to host, blank for unused
  • id prefixed per category, easier if I use a relational DB to map this in future
  • unit in column names for easier filtering/sorting
  • status: in-use / spare / faulty / active / retired (hosts, network), active / expired (domains). Settings that are independent of lifecycle get their own yes/no column (e.g. managed, poe, auto_renew) rather than being folded into status
  • notes is free-text