Hello, how do you document your home lab? Whether it’s a small server or a big one with firewall and more nodes. I have a small pc with Proxmox and there I have a VM with OpnSense. After I’ve entered my VPN as a interface in OpenSense, I noticed that I slowly lose the overview with the different rules that I have built in my firewall. And I know that my setup is relatively easy in comparison to others here in this community. I want to have a quick Overview at the various VMs, like the Lxc container, Docker containers that I have in this and the IP addresses that I have assigned to them. I search for a simple an intuitiv way for beginners.

  • 413j0@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 hours ago

    I just set up everything via ansible and comment everything religiously, I’ve gotten to the point where I have playbooks for my laptop and desktop so if I have do do a clean install I just have to run the playbook and everything is set up and installed to my liking

    It’s annoying to go to my playbook to make changes and rerun it every time I want to install or remove anything from my daily PCs, but it pays off when I migrate computers or for some reason have to do a clean install

    And for high level stuff and things not in ansible I keep a tiddlywiki since no matter how catastrophic the failure of my systems I can always find a way to access an HTML file for my own reference

  • LoudWaterHombre@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    18
    ·
    14 hours ago

    I am fortunate enough to only manage a homelab and not an enterprise sized network. So I don’t document anything just like at work.

    • foggy@lemmy.world
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      3
      ·
      edit-2
      1 day ago

      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.

      • Unforeseen@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        24 hours ago

        I do this continually for work as well, I approach every new project assuming best practice or approach options have changed. It doesn’t matter how experienced I am in what I’m doing, I still loop back and check.

        It’s such an automatic thing I don’t even think about it, but honestly not sure if it’s because of interest or because of fear of being called out for doing something wrong lol

    • redlemace@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      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

  • doodledup@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    15 hours ago

    I refused to do any documentation for a long time because it made me feel stupid for not memorizing it. I learned it the hard way… Now I document everything possible with Git and Readmes.

  • nagaram@startrek.website
    link
    fedilink
    English
    arrow-up
    40
    ·
    1 day ago

    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

  • philpo@feddit.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    8 hours ago

    I use different things:

    • Netbox for the actual hard “inventory” like documentation. What cable goes where, what powers what, what MAC is assigned to what, when did I buy this or that?(The later with an addon). In theory I also have snipe-it,but doing it all in netplan is more convenient.

    • Wiki.js for the concept and How-To-Side. Lots of draw.io diagrams (which can be done directly in articles), HOWTOs as a reminder for me, naming conventions, etc. Also some basic inventory information for disaster recovery. (Wiki.js is not hosted locally)

    • Vaultwarden for all secrets,passwords, recovery keys, ssh keys,etc.

    • Gitea for the most important config files/scripts/docker compose files.

    • And last but not least I do backups to Mdisc Blue Rays every few months. These include the documentation, the most important files (knx project for example), etc. and are stored at a different location (bank safe). There is also an detailled explanation in both my wifes and my own will how to access these so if something happens the kiddos or someone taking care of them can gain access.

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    1
    ·
    1 day ago

    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.

    • ch8zer@lemmy.ca
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 day ago

      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:

      • DNS leases
      • General infra diagrams
      • IP info
      • Host info
  • dabe@lemmy.zip
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 day ago

    95% of my homelab lives on a single server, and everything I do is within containers. So, my documentation is just keeping all my compose files in a git repo and writing in comments when necessary. It’s fairly self-documenting, and I haven’t found the need to break out of just using containers for everything, besides a couple things like setting up mergerfs or cockpit, but that’s all plug and play nowadays with stuff like https://projectucore.io/

    Of course, I don’t have any other things set up in my physical layout or network stack… but all that stuff would probably just go into an entry in my notes (obsidian/wiki.vim).

  • MangoPenguin@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    24 hours ago

    I generally just make notes in Obsidian, mostly about switch ports, VLANs, IP assignments and that kind of thing.

    Also try to save snippets of commands or config edits I needed to get something obtuse working in case I need to do it again later.

  • Shmandom@feddit.uk
    link
    fedilink
    English
    arrow-up
    3
    ·
    20 hours ago

    Secrets go in Keepass.

    For server configs, a LibreOffice Writer file per machine (except for RPs, I only have one for those), written as a didactic manual explaining how to install and configure everything (I work on bare metal still). I started that way since diving into self-hosting was also a way to learn Linux, Sys-Admin and web-hosting. I don’t do anything without updating the relevant chapters, or creating new ones. Not gonna lie: it’s tedious. But also a life-saver, and the rationals for my choices remain available years later, which is priceless in many ways.

    Once upon a time I had neat network gear running, and I mostly YOLO-ed the doc for those, relying instead on the firmware/config backups. I had to put those devices away, but when I finally get to play with them again, I’m going to suffer re-learning and re-discovering everything.

    Recently, I got to hack and old console, and just did a chronological log-file with actions taken and URLs to guides, instead of writing down everything myself. It got me thinking I might add a simple log-file to track my actions, on top of my usual guides.

    Or not. Having a life is nice too 😅

  • WxFisch@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    I’m curious how everyone documents their core/critical configs to allow the non-technical in our homes work with it if needed. For instance if I’m on work travel and the Pi-hole goes down for whatever reason my wife wouldn’t be able to use pretty much anything online. I can remote in and fix it but that could be hours/a day or two later. Same then for the proxmox stack that everything runs on.

    Along the same lines, how are folks documenting for EOL? It may not be a happy thought but we are all going to go someday, so what is your plan and how have you ensured loved ones can access/save important data?

    • MangoPenguin@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      24 hours ago

      My solution is other people in the house don’t rely on anything in my setup, other than the router which runs some basic telemetry and fraud/phishing domain blocking but that’s all.

  • tobz619@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    17 hours ago

    NixOS’s declarative configurations basically document themsleves: add some comments and you’re good to go and can back then up to wherever whenever