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

Selfhosted

60967 readers
751 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
[–] curbstickle@anarchist.nexus 7 points 5 days ago (1 children)

Git.

I write everything in markdown, and sync to my personal repo (backed up locally and as part of an encrypted backup elsewhere), which also goes to my personal codeberg in a private repo.

Passwords are maintained in a dedicated keepass db, also backed up elsewhere in the same fashion.

Config files themselves are always stored on my NAS in a symlinked or mapped directory, but primarily mapped since its (almost) all containers. These also get backed up the same way.

So as long as I structure my NAS/mapping the same way, everything else works the same way, no matter where its hosted. I do all my addressing by dhcp reservation so IP config is all in one place, and I have a local cert so everything is referenced by hostname.

Makes this all pretty easy to document imo, though the only one who will ever read it is me. I'm also in the middle of changing up auth, so I'll get to redo a good chunk of it, but I really only need to change configs.

... I'm lazy. I only like doing something once.

[–] hellmo_luciferrari@lemmy.zip 2 points 5 days ago (1 children)

I am taking a similar philosophical approach.

I'm lazy too, so I am working on havinf most docker documentation automated...

If I have to do it more than once, automated.

[–] curbstickle@anarchist.nexus 1 points 5 days ago (1 children)

For docker, use compose, and map it all to one spot with subdirectories, and also map the config for the service to a spot on your disk/nas.

I put them in one spot on my NAS under services, so it looks like:

/services/service_name/docker-compose.yml /services/service_name/config/

Easy peasy lemon squeezy.

[–] hellmo_luciferrari@lemmy.zip 2 points 5 days ago

I have it setup similarly currently /root_compose_dir/stack_name/compose.yml

But I'm taking a step further, ans using labels to generate README files. And will automate putting it into my bookstack