What tool do you use to display your self-hosting infrastructure
from moddy@feddit.de to selfhosted@lemmy.world on 22 Jun 08:49
https://feddit.de/post/13407982

Hey, I have to „draw“ or make notes of my selfhosting stuff. It runs so smooth that I sometimes really forget where a service is running or how to reach the web-Interface.

For sure I have a password- and link-manager, but I would like another independent note with the structure of my selfhosting.

Usually I use Joplin. Is there a plugin that shows me a kind of a map?

Or are there other apps - maybe wikis - that do it much easier/better than that?

How do you document your selfhosting?

#selfhosted

threaded - newest

ShellMonkey@lemmy.socdojo.com on 22 Jun 09:05 next collapse

Zabbix or Cacti are nice ways to draw maps that also serve a functional role in keeping track of the activity and alerting.

moddy@feddit.de on 22 Jun 13:20 collapse

This looks great! I will try Zabbix first! More than I expected. Thank you

aard@kyu.de on 22 Jun 09:09 next collapse

Everything is deployed via ansible - including nameservices. So I already have the description of my infra in ansible, and rest is just a matter of writing scripts to pull it in a more readable form, and maybe add a few comment labels that also get extracted for easily forgettable admin URLs.

moddy@feddit.de on 22 Jun 10:36 next collapse

That sounds to complicate for me. I am still a beginner.

bjornsno@lemm.ee on 22 Jun 10:54 collapse

You should definitely figure out some infra as code system now while it’s manageable. Normally I’d recommend docker-compose as it’s very easy to learn and has a huge ecosystem, but since you’re using proxmox you might need to look at ansible like the other commenter said. Having IaC with git makes it so much easier to test new stuff, roll changes back, and all that good stuff, in addition to solving your original problem of forgetting what is running where.

Just find the simplest IaC solution possible. Unless you are gunning for a job in infrastructure you don’t need to go into kubernetes or terraform or anything like that, you just need something reproducible that you can easily understand and modify.

aard@kyu.de on 22 Jun 11:05 collapse

Unless you are gunning for a job in infrastructure you don’t need to go into kubernetes or terraform or anything like that,

Even then knowing when not to use k8s or similar things is often more valuable than having deep knowledge of those - a lot of stuff where I see k8s or similar stuff used doesn’t have the uptime requirements to warrant the complexity. If I have something that just should be up during working hours, and have reliable monitoring plus the ability to re-deploy it via ansible within 10 minutes if it goes poof maybe putting a few additional layers that can blow up in between isn’t the best idea.

bjornsno@lemm.ee on 22 Jun 17:02 collapse

Oh for sure for sure. I just know that a lot of people use their homelab to learn skills that they can put on their resume when looking for a job. It’s totally fair to over engineer your self hosting setup if that’s your goal.

aard@kyu.de on 22 Jun 17:27 collapse

I was referring to work setups with the overengineering - if I had a cent for every time I had to argue with somebody at work to not make things more complex than we actually need I’d have retired a long time ago.

knobbysideup@sh.itjust.works on 23 Jun 03:26 collapse

Self documenting systems ftw.

capc8m@lemmy.world on 22 Jun 09:13 next collapse

A frontpage with links to all services and a monitoring app like Monitoror to allow me to check what’s running.

otter@lemmy.ca on 22 Jun 09:17 next collapse

I’ve seen some dashboards around, is this what you’re looking for?

antsu@lemmy.wtf on 22 Jun 09:31 next collapse

My stuff is all in docker-compose with a stack/service structure, so listing it is as simple as running tree, and reading the individual YAML files if I need in-depth details.

N0x0n@lemmy.ml on 22 Jun 09:55 collapse

KISS ! That’s the way I’m doing it. Although it kinda gets more difficult to keep track of every docker image update after you have a dozen containers.

Thinking of something that could keep track and give me a nice notification about the changes and give a link to the github page before updating the container.

WeirdGoesPro@lemmy.dbzer0.com on 22 Jun 10:01 collapse

Watchtower may be what you’re looking for.

N0x0n@lemmy.ml on 22 Jun 13:00 collapse

Thanks :)) I did tried it out a few month ago. It works as expected, but I was looking for something with a nice webUI wich pulls the whole changelog before updating a container.

An AIO web interface that give all the changes and expected bugs or issues. I know there isn’t something like that… That’s why I just look out for github notifications with an RSS feed and read through all the changes/issues before doing any updates.

SunDevil@lemmy.ml on 22 Jun 10:16 next collapse

I use Heimdall and Portainer myself, and I’d recommend them both. Portainer is for keeping a visual on Docker and/or Kubernetes containers, while Heimdall acts as a “home page” / front end for your various web GUIs (incl. Portainer).

moddy@feddit.de on 22 Jun 10:36 collapse

Hmmm, I have a few dockers, but most stuff is running in lxc‘s (Proxmox). Btw: I tried Heimdall (or Homar?) but I had to enter all services by hand. Is there a way or an app to automate that?

SunDevil@lemmy.ml on 23 Jun 03:08 collapse

Is there a way or an app to automate that?

Sadly, not to my knowledge. It’s an app-by-app process. I could see an Ansible play or similar potentially fulfilling such a role, but I’m not aware of any existing projects.

iN8sWoRLd@lemmy.world on 22 Jun 11:29 next collapse

you mentioned you’ve used joplin. All my notes are in markdown and I’ve been using Obsidian instead. Obsidian includes support for mermaid and can render (relatively simple) flowcharts.

obsidian.md mermaid.js.org/syntax/flowchart.html

DeltaTangoLima@reddrefuge.com on 22 Jun 11:28 next collapse

I’m using self hosted wiki.js and draw.io. Works a treat, and trivial to backup with everything in Postgres.

moddy@feddit.de on 22 Jun 13:28 collapse

I will use that for documenting further stuff. If Zabbix works a few screenshots from there should explain a lot but everything else I would add to the wiki.

DeltaTangoLima@reddrefuge.com on 22 Jun 22:23 collapse

I’ve written my wiki so that, if I end up shuffling off this mortal coil, my wife can give access to one of my brothers and they can help her by unpicking all the smart home stuff.

Zachariah@lemmy.world on 22 Jun 11:55 next collapse

I’ve used draw.io (apparently app.diagrams.net now) before for this exact purpose. I mapped out network, devices, and services.

cron@feddit.de on 22 Jun 12:25 next collapse

Great tool for documenting your setup. I use this at work a lot

TheButtonJustSpins@infosec.pub on 22 Jun 13:31 collapse

And you can self host it!

Zachariah@lemmy.world on 22 Jun 14:16 collapse

Just make sure to always be careful with recursion.

Evotech@lemmy.world on 22 Jun 12:08 next collapse

If I have to draw diagrams, I use D2 d2lang.com

It’s a very simple to use code to diagram language.

It has plugins for vscode and obsidian.

It’s open source that you can run locally, with the exception of their proprietary visualization engine. But I don’t use that one, just use ELK.

rand_alpha19@moist.catsweat.com on 22 Jun 12:42 next collapse

I use Cockpit to manage my system and containers and Dashy as a browser dashboard. It's similar to Heimdall but more minimal.

I also run Otterwiki and I'm planning on documenting my setup, but I haven't got around to it yet.

dotslashme@infosec.pub on 22 Jun 13:14 next collapse

I used to use ansible and helm, but it is overkill for my case. Today I basically use a combo of markdown and bash scripts, the combination of them allows me to run the scripts straight from my IDE.

tuhriel@discuss.tchncs.de on 22 Jun 18:37 next collapse

I’m coding them down as plantuml network code and render them using a selfhosted plantuml Server.

In the end my whole admin guide resides in a obsidian notebook as markdown There is even a plugin that renders plantuml code within obsidian

The nice thing: everything is just code and can be moved to any other tool (had my documentation in a local gitlab repo, but I swapped gitlab out for gitea)

BeardedGingerWonder@feddit.uk on 22 Jun 22:46 next collapse

I kinda just hold it all in my head and fix stuff when I notice it’s broken.

model_tar_gz@lemmy.world on 23 Jun 01:16 next collapse

I like draw.io for process diagrams.

daddy32@lemmy.world on 23 Jun 08:20 next collapse

Draw.io is also totally open and is able to be integrated into many different tools - so chances are your tool of choice already has a plug in for it. For example, nextcloud does.

Andromxda@lemmy.dbzer0.com on 23 Jun 09:12 collapse
constantokra@lemmy.one on 23 Jun 02:02 next collapse

There’s no forgetting where I have something hosted. If I ssh to service.domain.tld I’m on the right server. My services are all in docker compose. All in a ~/docker/service folder, that contains all the volumes for the service. If there’s anything that needed doing, like setting up a docker network or adding a user in the cli, I have a readme file in the service’s root directory. If I need to remember literally anything about the server or service, there’s an appropriately named text file in the directory I would be in when I need to remember it.

If you just want a diagram or something, there are plenty of services online that will generate one in ASCII for you so you can make yourself a nice “network topology” readme to drop in your servers’ home directory.

daddy32@lemmy.world on 23 Jun 08:23 collapse

This is the approach I try to also follow. It also makes the process of restoration from the backups or migrating to different server much easier.

constantokra@lemmy.one on 23 Jun 21:39 collapse

Yeah, and I assume future me will be even dumber than present day me, so I try to make it really easy for him to find out what he needs to know.

Another good tip is to put timestamps and increase the length of your bash history. That way when I log in half a year from now I’ll know what I was up to.

badlotus@lemm.ee on 23 Jun 04:41 next collapse

I use Netbox. It’s built by the team at Digital Ocean for managing their infrastructure. It can run in a docker container for easy management and compatibility. You can use as few or as many features as you need. There are a lot of native features and if there’s something missing you can extend functionality with plugins. I use the plugin netbox-topology-views to visualize my physical and logical network maps. This may be overkill for most home labs or home networks.

Netbox GitHub

Netbox-docker GitHub

mojoaar@lemmy.world on 23 Jun 08:06 next collapse

Excalidraw in combination with wikijs, both self hosted of course thru portainer.

trilobite@lemmy.ml on 23 Jun 08:56 next collapse

This is an intersting thread because I read through the lines the concerns that many have about losing parts of their homelab. Something I too am concerned about. While I have learnt to put my data securely on NAS with docker compose (I.e. docker image runs on VM while data i s stored on NAS and nas dataset is mounted via NFS on VM), in still not clear ho I save the config on the docker container. Basicalky, if I want to move that docker image to a new VM, how do I go about it?

Passerby6497@lemmy.world on 23 Jun 23:11 collapse

As long as you have your config files and whatever data from the app (both should be mapped from the container to the host), just copy it to the new system and start your container.

I have all my config files on my nas, but too many of my apps run off dbs so I need to figure out a way to backup the local database folder so I can have the actual data on my nas as well as just the configs.

Decronym@lemmy.decronym.xyz on 23 Jun 09:05 next collapse

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

Fewer Letters More Letters
Git Popular version control system, primarily for code
NAS Network-Attached Storage
NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency
k8s Kubernetes container management package

4 acronyms in this thread; the most compressed thread commented on today has 15 acronyms.

[Thread #826 for this sub, first seen 23rd Jun 2024, 09:05] [FAQ] [Full list] [Contact] [Source code]

Andromxda@lemmy.dbzer0.com on 23 Jun 09:09 next collapse

I use self-hosted draw.io together with the Draw.io Nextcloud integration for a diagram, and Wiki.js to write down some important information. If you prefer something lighter, check out DokuWiki. There are many other options for a Wiki like Bookstack or django-wiki.

pdavis@lemmy.world on 23 Jun 22:20 collapse

I still use Dia Diagram Editor for most things. I just wish it was still being updated.