Homelab documentation

Hey guys,

Just getting started with my homelab and wanted to know in what ways do you document your homelabs? Right not I have no services and just working on getting the hardware configured how I want. I know in the future it will be nice to have everything clearly documented both hardware and software. Documenting my network would be nice too.

Right now I am just using QownNotes, thinking about maybe some kind of wiki.


I tried some of the alternatives, but I disliked something about every single one of them, so at the moment I use OneNote for documentation. I save the files onto Google Drive to make them accessable everywhere.
I also organize my projects on a private Wekan server, which I’ve also been fairly happy with.
Looking at Alternativeto.net Joplin looks promising. I might give that a shot sometime. The last OneNote alternative I tried was Evernote, and I just… disliked the cloud aspect.
Hope you find something that works for you. Let us know what you like, and what you don’t.

Before, my homelab consistent of proxmox notes and a few text files in my documents folder for some stuff outside it, with a keepass db for passwords and encryption keys.

You may want to check this thread, sounds similar to what you’re asking

I would guess most people use wikis. I use text files that I will eventually git. I didn’t have a lot of computers, so I know all their specs. Monitoring would be more important. Zabbix or Prometheus+Grafana can help.

If you work in a collaborative environment, just install OCS-Inventory server, install the client agent on your hosts and boom, you now have a list of inventory and specs of each. Also what software each has. It also works on Windows and on your VMs, so it’s pretty handy. For collaborative environments, you want to set up a VaultWarden (bitwarden_rs) container and give each user access to it and share a DB with users, passwords and encryption keys.

Infrastructure-as-Code. Terraform, Ansible, K3s.

The only real documentation I keep is a spreadsheet with a list of hardware in each machine, and a list of spare hard drives

The rest I’ve found that documenting it never works, you inevitably change it and don’t update the document

So now I’ve changed the way I do things. Most service are docker compose, so the config file is right there and doesn’t need to be documented. I could easily redeploy it using the very same config file

Systems that need more in depth config then get their own VM, and I usually just throw all the install commands in a text file on the server. And because the server is dedicated to that machine, I just hit up in shell and see what commands I’ve issues before

For networking, I always have my configs backing up to a file share, so I can just view the config directly and no need to document it