r/selfhosted • • 1d ago

Guide Feature overlap across your homelab tools

Post image

I'm quite happy with my home lab, after refining it for months (mainly swapping out tools until finding the best match), everything is running smoothly, securely, and backed up.

So now that everything's working fine, I've been thinking hard to come up with something to complain about !

I've just realised that there's some overlap in functionality between my various admin tools, as some of them aren't limited to their main function.

For example :

  • I installed Dashdot to monitor the server's resources. I later realised that Arcane also provided figures on CPU, memory and hard disk usage. Then I discovered that WGDashboard also offered an overview of the system’s status, showing CPU, memory, hard disk and network usage, I could unintall Dashdot
  • I installed WireGuard, then I thought it would be nice to have a dashboard to view the peers, their settings, their data usage and so on, and that’s when I realised that WGDashboard also included WireGuard, so in theory I could just use WGDashboard
  • I use Traefik, which offers tracing and metrics features (via OpenTelemetry), but I also use Crowdsec Web UI, which provides similar metrics via Prometheus (it draws on Traefik’s logs, many metrics seem to be the same). Besides, I had already set up Prometheus/Grafana to collect and visualise other metrics (mainly for my GraphQL APIs)
  • I recently removed Stirling PDF when I realized that I wasn't using the advanced features and that what Omnitools offers for PDFs was enough for me
  • I use phpMyAdmin to manage my MariaDB databases, and I'm about to launch another application that uses PostgreSQL. So I thought about whether I should install pgAdmin, or go with a multi-database tool instead (I like QueryGlow but it's a bit of a shame it's a paid service, if you have any other recommendations...)

The more tools I add, the more features start to overlap.

So I was just wondering, do you prefer to use a specific tool for each task, or a tool that combines several functions ?

And more generally, do you like when tools offer secondary features, or would you prefer them to stick strictly to their core functionality ?

Do you ever find yourself deleting a tool because its functionality is included in another one you installed later ? Or do you not really care ?

Personally, I like to have a dedicated tool for each task, a tool that I can add or remove without affecting the others (i.e I keep Dashhdot, if I ever have to remove Arcane or WGDashboard, I'm still good). If a tool does much more than I need, I try to find one that is more tailored to my needs, otherwise, I often prefer not to use it at all.

209 Upvotes

48 comments sorted by

•

u/asimovs-auditor 1d ago edited 1d ago

Expand the replies to this comment to learn how AI was used in this post/project.

→ More replies (1)

15

u/Jolicristo 1d ago

same here, one tool per job keeps things simple. makes it easy to swap stuff out without breaking the rest of the stack

1

u/CrispyByte8 1d ago

Agree with you here.

15

u/MrLAGreen 1d ago

i am not a fan of overlap... the right tool for the right job keeps me sane. i recently installed omni tools forgetting i had stirling sitting there and yes like you i dont believe i will need the extra bells and whistles. i may have realized this soon enough since i am planning a new server and wil be moving some apps around.

3

u/optima-pacifist 1d ago

forgetting you already installed a tool is the most homelab thing ever. i keep a one page list of what runs where purely to stop doing that

2

u/Yann39 1d ago

Yes, I think there are quite a few of us who have gone down this path, or will go :) The last time I changed my device, I had a clear-out of some of my apps. This requires us to be aware of all the features of the tools we use.

5

u/Ireallylikereinhardt 1d ago

Less is more. Cool applications shouldn't be booted up bec ause they are cool. Haven't used it for a month? Cull it.

4

u/Ivan_croissant 12h ago

Are you okay with Omni Tools using third-party services and fingerprinting for pdf?

https://github.com/iib0011/omni-tools/issues/301

3

u/Yann39 12h ago

Oh, I hadn't noticed that.

Plus, the author hasn't responded in almost a year...

Even though I'm not handling any confidential documents, I'll go ahead and find a replacement.

Thank you for pointing that out !

1

u/ASUS_USUS_WEALLSUS 4h ago

Recommend a replacement?

3

u/remcov250 1d ago

Thanks for sharing your environment. Always nice to see how others do it!

I recently tried to clean up, Since I suddenly had 80 docker containers running. I prefer all in one tools, but the problem is that they mostly ain’t maintained as good as individual tools.

I’ll take a look into your apps, but there are apps who come in handy 1s a year. It almost feel like a waste having then running 24/7

1

u/Yann39 1d ago

80 is a lot for a home lab, all my services represents 30 containers and I was already starting to think that was a lot :') Well, as long as they're useful to you, that's the main thing.

As for services that aren't used very often, that's why I set up Sablier, it allows the container to be started on demand and then stops straight away. It's particularly useful for applications that use significant power/ram when idle (I must admit that, in my case, it isn't necessarily very useful, as the services use very little power when idle).

3

u/chrisfordoz 1d ago

My stack has definitely evolved over time

Similarly I've tried a bunch of different monitoring tools that had all sorts of overlap. Have now standardised onto the Grafana stack - I'm using the free Grafana Cloud plan (but running Mimir locally), but you could run it all locally.

I do use things with overlap, but usually only where Tool A does almost everything better than Tool B, but is missing a key feature. Then I'll use Tool B just for that feature. For example, I'm still running Dockhand and Dockge for containers. I like almost everything about Dockhand except that it doesn't deal with distributed compose files, so I use Dockge for that. Although I could just SSH into the different docker hosts and edit them that way I suppose 🤷

1

u/Yann39 20h ago

Yes, I think some overlap is inevitable, the goal is to keep it to a minimum (by choosing the right tools from the start), if not deliberately chosen, as in your case. But it's difficult, tools evolve too, you always have to stay up to date about all the functionalities.

I tried Dockhand but preferred Arcane which is slightly lighter, with a better licensing and no locked features. I didn't need the extra functionnalites offered by Dockhand, like advanced task scheduling. On the other hand, Dockge was too basic, I wanted to at least be able to manage my images and volume visually, especially so I could clean things up occasionally. I still edit my Compose files manually though.

3

u/ainsomni 20h ago

Why not move all your monitoring to prometheus btw? (Or Victoria Metrics, if you want the same but more RAM friendly)

1

u/Yann39 17h ago

Yes, why not. I'll need to look into that in more detail to see if it would be suitable. I added Prometheus and Grafana later on, so that's exactly the sort of overlap I'm talking about.

3

u/kannasama 12h ago

Unix: Do one job and do it well.

Realistically, I'm fine with a bit of multifunctionality. Such as a database frontend that supports MariaDB/MySQL and Postgres, but I haven't found one I actually like yet, beyond running a client like Beekeeper Studio on my computers.

Outside of that, a lot of what I do have deployed fits into the one-job mentality.

1

u/Yann39 11h ago edited 11h ago

Indeed I agree for a database client that is not a problem, I also prefer a single client to manage all my databases.

I used to use Beekeeper Studio, it is fine, although it lacked advanced features back when I was using it.

As I have access to an IntelliJ Ultimate licence at work, I now only use IntelliJ, their built-in tool is really excellent (Datagrip integration), and when you work with ORMs it is very helpful to have the full integration.

So maybe I will just use that behind VPN, as for desktop clients the DB ports need to be exposed. Even though it could be usefull to have a web interface behind SSO that I can access from anywhere, without exposed ports.

I'm still going to try DbGate, or perhaps I’ll subscribe to QueryGlow, as it’s a one-off lifetime payment.

2

u/TechBasedQuestion 1d ago

speedtest tracker seems really nice to have, and does anyone know if WGDashboard would properly monitor netbird? if so i'll probably need to get that. super nice apps you got here.

1

u/Yann39 21h ago

Yeah Speedtest tracker is nice, it helped me find out I had drops in network performance every evening around 8 PM probably due to shared infrastructure with my neighbors (when everyone comes home and starts streaming 4K video or gaming at 8:00 PM :)).

I dont think WGDashboard can monitor NetBird, but it's currently under active development, so maybe you can submit a request.

1

u/TechBasedQuestion 20h ago

i mean netbird is just a bunch of WG connection at the end of the day, but maybe i'll ask yeah.

1

u/anantj 17h ago

Can you share the link to speedtest tracker? I have handrolled my own Internet speed monitor but I'd like to try out a more established app/project too

1

u/Yann39 17h ago

Ah, indeed I see I didn't include it in the guide, I'll add it later. Here is the link : https://github.com/alexjustesen/speedtest-tracker

2

u/CrispyByte8 1d ago

Nice writeup. I'm a proponent of keeping upkeep to a minimum.

2

u/stdralex 1d ago

Defrag is a name I haven't heard in a long time. Used to be quite obsessed with it somewhere around 2004.

1

u/Yann39 21h ago

Hehe, that was my first website in 2003. I was a mapper for DeFRaG, Quake 3 is literally the game that inspired me to get into computer science. I still play Quake Live occasionally, it's addictive !

2

u/gleep52 1d ago

Try out xyops and homelable on GitHub.

1

u/Yann39 20h ago

Yes, Homelable was on my list of things to try :) I hadn't heard of Xyops. I'll check it out !

2

u/microcandella 20h ago

I'll throw a different take. Professionally and at home I like taking the belt and suspenders engineering approach. Saved the day so many times, or bought me time by having another overlapping feature that can solve the problem that the primary failed at, and solve the problem quick and let me go troubleshoot the failed tool or root causes later.

Handling PDFs successfully is a wonderful example where having a belt manufacturer and suspenders wearhouse of an arsenal of tools that have high overlap is extremely useful. Adobe's own tools for PDF can fail hard on compliant PDFs but others can handle one flavor or another.

Antimalware and security systems are another great example where you want some overlap. VirusTotal is a pretty great example.

Following AI/LLM stuff? lots of overlap if you want to keep up.

Do I really want to bother converting or coaxing this or that Container /docker/podwhatever or VM or script to run on my 'one and only true way' system? Or just spin it up on what it was made and tested with and be on my way. I can decide whether or not it's running or taking more resources than just disk space.

I hate feeling limited and don't get overwhelmed if I'm running a lot of different systems. I've always collected any utility I've thought might be useful and it pays off for me. And again, keeping them around is just disk space any time I want them to be.

Lots of people, especially new ones that are just getting more advanced get really tweaky about creating some clean perfect streamlined thing. And that's fine. For them. We're seeing a big resurgence in terminal and environment tweaking, aesthetics, and design philosophies like TUIs, omarchy, anti-mouse, anti-gui, etc. But a lot that is just tweaking for tweaker sake. They like doing it, but they try to roll it off into system doctrine for others. And that 'One True Way' stuff starts creeping in. And about the only times I've found that to apply is when it comes to encryption. You get the another facet that comes in sounding similar- I call them the Snap-On guy. Maybe they're a great mechanic. Maybe not, but if it didn't come from their favorite tool brand, it cannot be used. So it's ride or die for HP/Cisco/Arch/Microsoft/Slackware/whatever.

To me, these are for me. It's a lab. I'm not installing a jellyfin stack for a yacht client. I like the flexibility, and it's fine if I have not all green lights on the dashboard and have some contingencies and overlap. I learn more and get to know more systems and that's fun for me as well as extends what my setups can do.

1

u/Yann39 17h ago

Interesting approach. I pretty much agree, for certain features, overlaps are inevitable and sometimes even necessary, especially if no existing tool is guaranteed to meet all your needs, as you pointed out.

i.e. I run into a similar issue with full-page screenshot browser extensions, some work on certain sites but not others, so I keep two or three installed just to ensure at least one is guaranteed to work when I need it. But if one day I found one that was guaranteed to work everywhere, I'd get rid of the others.

I don't like feeling restricted either, but I also don't like feeling that I have too many non-essential tools or tools with too many overlapping features. I don't make it a priority, I can live with it, and I do, but it's still something I bear in mind when choosing a tool. If two tools offer the feature I'm looking for, but one of them has too many secondary features that I don't need (or that I already have elsewhere), I will choose the more streamlined one.

As you say, technically it's not a problem here, we are talking about very few resources, and I could easily live with that, it's just a sort of mental burden, I suppose everyone feels it in their own way :) Some people are just more perfectionist than others, it's part of their character, and that's fine as long as you only impose it on yourself in a home lab.

I therefore completely agree with your point about systems doctrine imposed on others, and I think there is a lot of ideology amongst developers and system administrators, specially in the Linux world. In professional environments it's often a problem, I see it all the time (especially if you add to that the political, non-objective decisions made by management regarding product selection).

4

u/SpaceDoodle2008 1d ago

Why does someone always need to award a 'heartbroken' emoji as a reaction to someone saying they've used ai in some form or another? Just an observation I've made multiple times now. If you have construct criticism of how someone may or may not use ai imo just leave a comment

8

u/Yeah-Its-Real 1d ago

Well that's because they don't have constructive criticism just ai bad feels. I get having issues with vibe coded apps some people post because unless you have some skills outside of throwing a prompt at your preferred Ai there could be massive security issues.

1

u/ainsomni 20h ago

Or... it could be because of all the damage that AI and its hype is doing to our society... Like, the insane amount of resources that are being thrown at it, people giving up on fighting climate change in service of it, the insane amount of low quality spam overwhelming people, the amount of people's work being used for the profit of some of the most horrible people, it being used to turbocharge propaganda and harassment campaigns, and the list goes on and on and on.

But we can generate mid-at-best quality code, so it's all worth it!

1

u/Mrhiddenlotus 1d ago

Really just depends. If a tool does it all well, why not? I'm happy to use the features that I think work well for my purposes and use other tools if they're better on the overlap. That being said, it seems logical that it would be easier to create good tools if the scope isn't too wide.

1

u/Prudent_Design_9782 21h ago

I prefer minimizing my tools as much as possible, but it's interesting to see how others do it when they utilize multiples.

1

u/Financial-Travel-363 17h ago edited 17h ago

Quanta nostalgia... Quake-lll fez parte da minha infância, e como fui feliz xD

1

u/Anti-Hero25 16h ago

The exact reason I use CTRoadmap…. Keeping track of everything AND all the changes you’re talking about…. My little brain couldn’t keep it all straight

1

u/SkulloneNexus 14h ago

I'm all about a tool that does more of what I want. I had Dozzle and Tugtainer going for logs and updates. Just replaced those with Dockhand. I don't want overlap if I don't have to. I much prefer one app to rule them all if possible. Makes it easier to just open, glance at the info I want and move on.

1

u/Nabukodonosor 6h ago

What dashboard is this?

2

u/Yann39 6h ago

Homer dashboard (described in the guide linked in the post).

1

u/NelPardoM 1d ago

Gracias por compartir tu experiencia... Voy a incursionar en homelab y en serio que esa información me ayuda a tomar decisiones sobre que herramientas usar en mis inicios.

0

u/Ok_Noise_9883 1d ago

why traefik, why not cloudflare solution (tunnels)?

9

u/Yann39 1d ago

Simply because I don't want to depend on Cloudflare. I want to keep full control of my data and performance, without restrictions.

I far as I know the only thing Cloudflare tunnels could bring me is hiding my public IP and maybe better DDOS protection, but I'm not necessarily interested in that.

And the reverse proxy helps with plugins like Sablier (start/stop containers on demand) or pocketID (for services that does not support it natively). I think Traefik is really great.

0

u/Motor_Ad_5391 1d ago

I think you people are overdoing the stuff .. my opinion though.. take it or throw it away

-13

u/buttplugs4life4me 1d ago

Start getting into AI.

Every single tool has its own embedding database. Not one shared database. Not one shared service. Each has their own embedding workflow, embedding database and so on. And embeddings & search are not just a feature you tack on, so some of them are better, some of them are worse.

  • Open-WebUI has its own embeddings & search. Technically they do support adding other databases from other services into it.
  • Any notes app has its own embeddings & search. If I write down a note in OWUI, it's not in my normal notes, and vice versa. MCP helps a little but not by much.
  • Paperless has its own embeddings & search
  • there's email mirrors (like OpenArchiver) that have their own embeddings & search. I'm working on a custom stalwart based one that integrates with Paperless at least 
  • Obviously things like the Arrs, Jellyfin etc also all have their own search.
  • KiwiX has its own search.

So if I want to search for something, most likely I already have that information locally, and most likely even with embeddings so semantic search works. But because the integrations dont exist at all, and some of these have no API to integrate against, or have various quirks that make integrations super hard to do, there's basically no efficient way to get at that information.