I’d like to start doing a better job of tracking the changes I made to my homelab environment. Hardware, software, network, etc. I’m just not sure what path I want to take and was hoping to get some recommendations. So far the thoughts I have are:

  • A change history sub-section of my wiki. (I’m not a fan of this idea.)
  • A ticketing system of some sort. (I tried this one and it was too heavy. I’d need to find a simple solution.)
  • A nextcloud task list.
  • Self-host a gitlab instance, make a project for changes and track with issues. Move what stuff I have in github to this instance and kill my github projects. (It’s all private stuff.)

I know that several of you are going to say “config as code” and I get it. But I’m not there yet and I want to track the changes I’m making today.

Thanks

  • Neshura@bookwormstory.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    7 months ago

    Just my two cents but if you decide to go for the self hosted GitLab approach I think Forgejo might be a better fit. It’s not as resource intensive as GitLab is but has all of the essential features you’d need from a forge.

  • [email protected]@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    7 months ago

    Ultimately, do whatever you think you’ll be able to keep up with.
    The best documentation system is useless if you keep putting it off because it’s too much work.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    Git Popular version control system, primarily for code
    VPN Virtual Private Network

    3 acronyms in this thread; the most compressed thread commented on today has 6 acronyms.

    [Thread #579 for this sub, first seen 6th Mar 2024, 20:55] [FAQ] [Full list] [Contact] [Source code]

  • spaghetti_carbanana@krabb.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    Back in the day when the self-hosted $10 license existed I was using JIRA Service Desk to do this. As far as ticketing systems go it was very easy to work with and didn’t slow me down too much.

    I know you don’t want a ticket system but I’m just curious what other people will suggest because I’m in the same boat as you.

    Currently I haphazardly use Joplin to take very loose notes and sync them to Nextcloud.

    If you want a very simple option with minimal setup and overhead you could use Joplin to create separate notes for each “part” of your lab and just add a new line with a date, time and summary of the change.

    I do also use SnipeIT to track all my hardware and parts, which allows you to add notes and service history against the hardware asset.

    Other than that, I’m keen to see what everyone else says

    • I know you don’t want a ticket system but I’m just curious what other people will suggest because I’m in the same boat as you.

      I’m not opposed to a ticketing system but I’d want something pretty simple. Last one I tried was GLPI because I thought the inventory mgmt + ticketing would be useful but it was just way too much.

      Currently I haphazardly use Joplin to take very loose notes and sync them to Nextcloud.

      I’m currently using Wiki.js (synced to GitHub) in an attempt to document things. I’ve played with a changelog section but it’s like a stream of consciousness and I’m not real happy with the layout.

      I do also use SnipeIT to track all my hardware and parts, which allows you to add notes and service history against the hardware asset.

      That looks cool. I may check that out.

      Thanks

  • Avid Amoeba@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    A wiki sounds like the right thing since you want to be able to see the current and previous versions of things. It’s a bit easier to edit than straight Markdown in git, which is the other option I’d do. Ticketing systems like OpenProject are more useful for tracking many different pieces of work simultaneously, including future work. The process of changing your current networking setup from A to B would be tracked in OpenProject. New equipment to buy, cabling to do, software to install, descibing it in your wiki, and the progress on each of those. Your wiki would be in state A before you begin this ticket. Once you finish it, your wiki will be in state B. While in progress, the wiki would be somewhere between A and B. You could of course use just the wiki but it’s nice to have a place where you can keep track of all the other things including being able to leave comments that provide context which allows you to resume at a later point in time. At several workplaces the standard setup that always gets entrenched is a ticketing system, a wiki and a version control. Version is only needed for tasks that include code. So the absolute core are the other two.

  • Scrubbles@poptalk.scrubbles.tech
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 months ago

    Best thing i did was creating a git repository just for my local environment and set up.

    Granted I did switch over to kubernetes and helm, so that was good. Kick start where everything is laid out and simply YAML files, but even more important than that was setting up readme files for all my major systems.

    I want to say it’s now hundreds of times. I’ve gone back and reread those read me files, the random fixes I had to come across, common error codes that I needed to fix, setting up new boxes, the list goes on. On. Having one central place where I can edit and update those readmes has been a godsend. Plus I run gitea so it then formats those in a nice way for me automatically.

    Not to mention the dozens of scripts and random snippets of code I’ve needed to save to help me run my local lab.

  • Breve@pawb.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 months ago

    I’ve started using Obsidian with a kanban plugin, though any sufficient kanban style solution would work. I have a to-do column (aka backlog), an in-progress column, and a finished column. I add notes to the cards about what I did and I never delete stuff from the finished column so I can review if I need to re-open or re-do a task in the future.

  • Shertson@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    7 months ago

    I’m in the same boat.

    Past: My notes are all over the place. Some are in paper notebooks, on scraps of paper, index cards. Some are plain text files, some are markdown; dumped into random folders (had some in my yyyy/mm/dd folders for my journaling, some in project folders) some are on a wiki, some in redmine, some in openproject. I’ve tried different bug tracking apps, but as mentioned, they (like project management apps) are too burdensome.

    Current: For now I am using Joplin for my active notes (and slowly migrating historical notes as I have energy). I have a top level notebook for my homelab, then a subnotebook broken down by subject (infrastructure, app/service, hardware), then individual pages for each specific item (host os setup, vpn, application, etc). On those individual pages, I have it sectioned out; Goal, Research notes, Actions taken, results.

    • Personal Notes
    • Journal
    • Inbox
    • Homelab
      • Infrastructure
        • Host OS
        • VPN
        • NFS
      • Services
        • Radicale
        • Audiobookshelf
        • etc
      • Hardware
        • node 1
        • node 2
        • node 3
        • router

    Future step: Once I have something figured out and ready for “prod”, I will be wiping it out and redoing it all through ansible. I’ll take that playbook and a clean markdown doc with the important details and put them in git. That way I can rebuild it later if there is a tragedy.