this post was submitted on 28 Jul 2023
138 points (95.4% liked)

Selfhosted

40394 readers
372 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 2 years ago
MODERATORS
 

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
[–] [email protected] 3 points 1 year ago (1 children)

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.

[–] [email protected] 2 points 1 year ago (1 children)

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)
[–] [email protected] 3 points 1 year ago (2 children)

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

[–] [email protected] 2 points 1 year ago

Woah thanks for the NetBox shout! Gonna check that out

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 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. :)

[–] [email protected] 2 points 1 year ago (2 children)

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

[–] ZebraGoose 2 points 1 year ago (2 children)

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

[–] [email protected] 2 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.

[–] [email protected] 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!

[–] [email protected] 1 points 1 year ago

Seems a lot of people are doing that.

[–] [email protected] 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/

[–] [email protected] 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.

[–] [email protected] 2 points 1 year ago (1 children)

Comments inside the docker-compose.yml files?

load more comments (1 replies)
[–] [email protected] 2 points 1 year ago

Hackmd.io for simple markdown docs.

[–] [email protected] 2 points 1 year ago (2 children)

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.

[–] [email protected] 1 points 1 year ago (4 children)
load more comments (4 replies)
[–] [email protected] 1 points 1 year ago (1 children)

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

[–] [email protected] 2 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 2 points 1 year ago (1 children)

I use bookstack. Simple selfhosted wiki.

[–] [email protected] 1 points 1 year ago

+1 for bookstack. I also selfhost a kanban with the services basic info and it's related status (pilot/test, production and to be decommissioned). At the beginning I used Planka, but now switched to Nextcloud Deck.

load more comments
view more: ‹ prev next ›