137
submitted 1 year ago* (last edited 1 year ago) by SeeJayEmm@lemmy.procrastinati.org to c/selfhosted@lemmy.world

My home lab has a mild amount of complexity and I'd like practice some good habits about documenting it. Stuff like, what each system does, the OS, any notable software installed and, most importantly, any documentation around configuration or troubleshooting.

i.e. I have an internal SMTP relay that uses a letsencrypt SSL cert that I need to use the DNS challenge to renew. I've got the steps around that sitting in a Google Doc. I've got a couple more google docs like that.

I don't want to get super complicated but I'd like something a bit more structured than a folder full of google docs. I'd also like to pull it in-house.

Thanks

Edit: I appreciate all the feedback I've gotten on this post so far. There have been a lot of tools suggested and some great discussion about methods. This will probably be my weekend now.

(page 2) 50 comments
sorted by: hot top controversial new old
[-] Omripresent@leddit.social 3 points 1 year ago

I use a combination of netbox for the physical/logical network and server connectivity, and outline for text documentation of the different components.

[-] voidf1sh@lemm.ee 2 points 1 year ago

Woah thanks for the NetBox shout! Gonna check that out

I think I looked at netbox a while back. I may circle back to it for the actual physical layer. If I remember the ipam didn't include network scanning tho.

[-] antony@lemmy.ca 3 points 1 year ago

I use Ansible, Docker, and Emacs OrgMode files committed to Git. Diagrams are a mix of Miro and Graphviz. There's also a few markdowns in there too. Joplin is used for rough notes only.

[-] ChrislyBear@lemmy.world 3 points 1 year ago

I'm defining my service containers via GitLab and I deploy them via tagged and dockerized GitLab Runners.

If something fails, I change the runner tags for a service and it will be deployed on a different machine.

Incl case of a critical failiure, I just need to setup a Debian, install docker, load and run the GL runner image, maybe change some pipelines and rerun the deployment jobs.

Some things aren't documented well, yet. Like VPN config...

Ah yes, my router is able to access GitLab as well and pull the list of static routes etc. from it.

[-] Gutless2615@ttrpg.network 2 points 1 year ago

As someone not super familiar working in Git I’d love more details about your documentation for your setup. I have most of my containers organized in compose stacks that make sense (eg all the Arrs are in a single compose with the download client) but actually documenting the structure is … well nonexistent.

load more comments (1 replies)
[-] gobbling871@lemmy.world 2 points 1 year ago

Comments inside the docker-compose.yml files?

load more comments (1 replies)
[-] grimer@lemmy.world 2 points 1 year ago

Any chance you wouldn't mind sharing the SSL renewal doc? Redacted of course. Mine is coming up and I'd like to do it correctly this time. :)

[-] ludw@lemmy.world 2 points 1 year ago

I'm using anytype.io, it's been pretty neat so far.

[-] Johnny5@lemm.ee 2 points 1 year ago* (last edited 1 year ago)

I run a local MediaWiki appliance from turnkeylinux, super easy to spin up in proxmox.

[-] kurt_propane@lemm.ee 2 points 1 year ago

Why not push it up to GitHub? Then you also get a commit history to see your changes overtime.

[-] ZebraGoose@sh.itjust.works 2 points 1 year ago

Wow that sounds convinient, where can i find a guide describing this? Has zero experience with git 😅

[-] cpo@lemmy.world 2 points 1 year ago

There are tons of tutorials around, but the basic gist is that you only use a couple of commands (or even a good frontend) in git, especially when it's a one (wo)man show.

I highly recommend it!

[-] kurt_propane@lemm.ee 1 points 1 year ago

Gotcha. Git is useful in so many way, but it can be confusing to learn. I don’t have a guide on hand but searching for ‘getting started with git’ will get you pretty far.

Another great way to do this that I just thought of this second is using Notion. It is in markdown.

Seems a lot of people are doing that.

[-] happyhippo@feddit.it 2 points 1 year ago* (last edited 1 year ago)

I have a git repo for it, needless to say. And so README.md plus a network diagram from https://app.diagrams.net/

[-] Kcg@lemmy.ml 2 points 1 year ago

Hackmd.io for simple markdown docs.

[-] dr_robot@kbin.social 2 points 1 year ago

I deploy as much as I possibly can via Ansible. Then the Ansible code serves as the documentation. I also keep the underlying OS the same on all machines to avoid different OS conventions. All my machines run Debian. The few things I cannot express in Ansible, such as network topology, I draw a diagram for in draw.io, but that's it.

Also, why not automate the certificate renewal with certbot? I have two reverse proxies and they renew their certificates themselves.

[-] ttk@feddit.de 1 points 1 year ago
load more comments (4 replies)

My reverse proxy can do automated renewal just fine. The SMTP relay requires a DNS challenge that is manual.

[-] dr_robot@kbin.social 2 points 1 year ago

Why not have the reverse proxy also do renewal for the SMTP relay certificate and just rsync it to the relay? For a while I had one of my proxies do all the renewals and the other would rsync it.

It certainly wouldn't be because I've been doing it this way for so long that it never occurred to me. Nope. Certainly not that.


In fairness, I very recently switched from a cobbled together apache web server/rev proxy config I've been carrying along in some form for well over a decade (I remember converting the config to 2.4), to an NPM container. I had some initial trouble switching my certs over to NPM and haven't revisited that yet.

I'm in the middle of a major overhaul of my tech stack. Fixing certs is on my short list.

Thanks for pointing out where I was stuck in my ways.

[-] markr@lemmy.world 2 points 1 year ago

I use bookstack. Simple selfhosted wiki.

load more comments (1 replies)
[-] huojtkeg@lemmy.world 1 points 1 year ago

The only thing I save in Google Drive are my notes just in case of disaster.

load more comments (4 replies)
load more comments
view more: ‹ prev next ›
this post was submitted on 28 Jul 2023
137 points (95.4% liked)

Selfhosted

39677 readers
420 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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

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

Questions? DM the mods!

founded 1 year ago
MODERATORS