this post was submitted on 28 Jul 2023
124 points (95.6% liked)

Selfhosted

61021 readers
667 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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

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

Questions? DM the mods!

founded 3 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.

you are viewing a single comment's thread
view the rest of the comments
[–] ChrislyBear@lemmy.world 3 points 3 years 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.

[–] Gutless2615@ttrpg.network 2 points 3 years 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.

[–] ChrislyBear@lemmy.world 3 points 3 years ago

The thing is it's not really a "documentation" but just a collection of configs.

I have organized my containers in groups like you did ("arrs", web server, bitwarden, ...) and then made a repository for each group.

Each repository contains at least a compose file and a Gitlab CI file where a aimple pipeline is defined with basically "compose pull" and "compose up". There are alao more complicated repository where I build my own image.

The whole "Git" management is really transparent, because with Gitlab you can edit directly on the platform in a hosted VSCode environment where you can directlY edit your files and when your satisfied you just press commit. I don't do weird stuff with branches, pushing and pulling at all. No need for local copies of the repository.

If you want to fulltext search all your repos, I can recommend a "Sourcegraph" container, but use version 4.4.2 because starting with 4.5.0 they have limited the number of private reositories to 1. But this is something for later, when your infrastructure has grown.