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.

  • curbstickle@anarchist.nexusM
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    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.zipOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      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.nexusM
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        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.zipOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day 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