Here: https://wiki.gardiol.org/
Based on Dokuwiki and my own experience. Mostly started to track what and why I do stuff, and published because I truly believe in a free internet.
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Here: https://wiki.gardiol.org/
Based on Dokuwiki and my own experience. Mostly started to track what and why I do stuff, and published because I truly believe in a free internet.
It's really a wild growth over the years. My current approach is twofold. Netbox to manage devices/VMs and associated info with service deployments using Ansible. You can use the info from Netbox as an Ansible inventory directly.
Previously I tried network diagrams (too low detail) and spreadsheets (terrible to modify) to document machines. And for serviced I'd have an install page on my wiki (apologies, the codeblocks are somewhat broken atm)
I run Netbox for documentation only. But your approach is what I actually wanted to do, if I just had plenty of time.
I download the YouTube tutorials I followed, upload them to my UAT Jellyfin server, and then when my server is having issues I can't get to the videos!
A flawless system really
I build my infrastructure with the terraform, Ansible and helm charts. The code is it's own documentation as well as comments in that code explaining why I've done things if it's not obvious.
This really is the way.
It goes beyond documentation too - it allows me to migrate to new hosts or to easily automate upgrading the OS release version.
I have a docusaurus site for my homeland and I have ansible and terraform generate files for the docs so I don’t have to record anything. Some of the stuff I note down:
Not much, really. I do comment changes to config files and such.
I have it in a git repo, broken down by the nodes and vps names. In each of these folders is a mixture of Ansible playbooks, docker compose or just markdown files with the descriptions. Some is random stuff - my VPS allows the export of the cloud firewalls as JSON for instance. All the secrets needed by Ansible are in an Ansible vault, the rest in KeePass.
I have NixOS running on mine and I write everything in comments in my configuration.nix
. Usually I'll write notes about why I set a certain option above the line where I do it but I also have a section at the start that describes anything to be aware of if I'm moving this configuration to another machine. For example “This assumes a drive is mounted on /mnt/backup0
”
I just try to make everything as self documented as possible. Eg. no stray scripts, everything is either implemented in other software (eg. my main wireguard peer in systemd-networkd, without any non-obvious external dependencies) or tracked as a part of an arch pkg with a simple PKGBUILD. I usually either have very simple nets (eg. my VPN's net only consists of four peers, in the order main - secondary - laptop - phone) or leave it to DHCP and SLAAC. I try to avoid using ports for local servers as much as possible and use unix sockets. Stuff like LVM/Luks pretty much documents itself.
A combination of Logseq (what, why, how) and KeePass for IPs and passwords (obviously)... I use the heirarchy in Keepass to show a device and then the services on it and then their configs, ie
I used to do Visio drawings, but they were always out of date.
Jokes aside, I do keep some harder to remember stuff written down in a README.md in my repo, but mainly most things are undocumented
"Shit, i hope i remeber the key words i searched for"
I operate on the philosophy that it is better for me to relearn things than lean on old documentation that may no longer be accurate/relevant.
The best way to implement a safe connection to my home lab today might not be the safest way tomorrow.
Old dog, new tricks, etc.
Also! Your documentation is an attackers wet dream.
NB: this philosophy doesn't scale.
Guilty too. There are names on router- and switch interfaces. Servers get fixed IP from dhcp so is in the note field there too. That's about it
I just created a note in Obsidian with the Excalidraw plugin.
I use obsidian and ezcalidraw also, I didn't realize we can put one in the other