this post was submitted on 21 Jul 2026
42 points (97.7% liked)

Selfhosted

60967 readers
583 users here now

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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

Greetings Lemmings,

I realize that self-hosting for many is just a hobby. Something they do for fun. And the topic of today is usually a "not-so-fun" part of the IT industry.

Jump Scare Warning

Documentation

I have for so long just let my lab grow organically. And months down the road an issue pops up with a service, and I have no idea how I set something up, and may not have documented it. Whether that be comments inside of configuration files, or via other means.

I have gotten marginally better at documenting within the config files or code that I am writing. However, I don't want just that as an option. So I spun myself up a Bookstack container.

I am slowly going through and creating what would amount to a full blown wiki for my setup. Doubly I can use this as part of my resume.

So I ask of you; what ways do you prefer to document? How do you keep yourself honest, and actually stick to it.

Edit: I created bash scripts that are run by a systemd service and timer. At least for my docker box.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] valar@lemmy.ca 3 points 6 days ago* (last edited 6 days ago) (1 children)

I used to have a set of notes (in a text file) with commands and links to install everything I was running. But it wasn't bulletproof. After updating my hardware and having to redo everything from those notes, which took a whole weekend, I decided to look for a better way.

Now everything in my homelab is deployed with Ansible. So I don't have documentation per se, but its kind of self-documented. If my server was fully wiped tomorrow I could reinstall everything in minutes with one command.

I am taking precautions to have my setup easily deployable no matter the hardware. The only real documentation becomes mountpoints and such for external storage.

For DNS and Reverse Proxy entries, I have those automated. Any time I spin up a new docker container, that information is deployed with labels. Also entries into my homepage.

The .env files contain any variable I would want to store to make my setup portable, shareable and not have to worry about leaking any of my information. Not that it would be end of the world considering nothing really leaves my network unless it is through my VPN.