this post was submitted on 07 Feb 2026
47 points (100.0% liked)

Selfhosted

56085 readers
954 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.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hey everyone,

I have an unraid server and over the years I've gathered quite a lot of tools, some of which are now exposed to the net.

I've been mostly checking on my server every once in a while to see if things are healthy, but I would like a more central version to look into the health of my network, any issues from docker logs, etc.

Anyone got a good ui for that? (preferably deployed through docker)

top 21 comments
sorted by: hot top controversial new old
[–] hamsda@feddit.org 2 points 4 hours ago

I'm using CheckMK to monitor my hypervisor, physical hardware like disks, CPU etc. and SNMP-capable hardware like my pfSense firewall via a CheckMK instance in docker. It either works in docker or on a few different linux based OS like ubuntu and debian (see CheckMK download page).

There's a free and open source version (called raw edition, GitHub Link) which I am using. It comes with a lot of checks / plugins for monitoring stuff out of the box and if there's something it doesn't ship, you can easily create your own check in whatever language your server is capable of executing a binary of. Or you could look up if there's a user-contributed plugin on the official CheckMK Exchange Platform.

The whole configuration of this is based on rules with a lot of predefined rules and sane defaults already set.

To have an example for your use-case: You can monitor docker-logfiles and let CheckMK warn you, if specific keywords are or are not in a logfile. You will then be able to view the offending lines in the monitoring UI.

Why do I use this?

  • We use it at work
  • FOSS
  • docker makes updating this easy
  • can send mails, teams notifications, ...
  • very customizable and expandable

my docker compose file

# docker-compose.yml

services:
  monitoring:
    image: checkmk/check-mk-raw:2.4.0-latest
    container_name: monitoring
    restart: unless-stopped
    environment:
      - CMK_PASSWORD=changeme
    ports:
      # WEB UI port
      - "5000:5000"
      # agent communication port
      - "8000:8000"
      # used for SNMP
      - "162:162/udp"
      - "514:514/tcp"
      - "514:514/udp"
    volumes:
      - "./monitoring:/omd/sites"
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
[–] Kushan@lemmy.world 5 points 6 hours ago (1 children)

Start off simple, use something like uptime-kuma just to check your services are available - takes minutes to set up and can send you notifications when something goes down. It can plug into docker directly to check if a container is up, as well as perform HTTP checks that the service is responding, plus some other cool stuff.

(Side note, I set up ntfy to handle notifications and it's great! Another solid recommendation but you can use discord web hooks or whatever as well)

The other options described here are good for gathering and visualising data, but it takes quite a bit to set them up and even more to configure the right kinds of alerts to notify you when something is wrong. A simple "is this docker container running" check or a "does this respond with a http 200" check gets you like 95% the way there.

[–] EarMaster@lemmy.world 3 points 6 hours ago

Uptime Kuma is sufficient in almost every scenario. If you don't monitor the additional stats other tools provide they are basically useless anyway.

[–] Spaniard@lemmy.world 3 points 5 hours ago (1 children)
[–] redlemace@lemmy.world 1 points 5 hours ago

I have nagios to check the status, but librenms runs too in case i need trends, graphs etc etc

[–] dave@piefed.blahaj.zone 12 points 8 hours ago (2 children)

I've recently switched to Beszel and so far it's been great.

[–] myrmidex@belgae.social 2 points 6 hours ago

came here to say Beszel too, love it!

[–] statelesz@slrpnk.net 3 points 7 hours ago

+1 I love the easy integration of Gotify.

[–] supervent@lemmy.dbzer0.com 12 points 9 hours ago (1 children)
[–] mrnobody@reddthat.com 4 points 8 hours ago* (last edited 8 hours ago) (1 children)

Why Grafana + Prometheus? Why do they have to go together?

Edit: I went back and reread... I think Prometheus is the data grabbing/monitor and Grafana is the polished UI dashboard???

[–] tofu@lemmy.nocturnal.garden 3 points 7 hours ago (1 children)

Yes. Prometheus isn't standalone though, it requires agents on all target machines. The go-to is node exporter. It's really flexible though and there's agents for lots of different tools, you can monitor everything with it, but the initial setup isn't suuper easy.

[–] mrnobody@reddthat.com 2 points 7 hours ago (1 children)

Someone opened my eyes recently to Yunohost which is a container manager essentially (my understanding) though is based on Debian for the newer versions not actual Docker.

Anyway, I can install Prometheus as well as node explorer, but I think I would only need Prometheus. Node explorer sounds like if I hosted Prometheus on another box and wanted this host to talk to it.

[–] Danitos@reddthat.com 4 points 7 hours ago (1 children)

Prometheus is a metric scrapper, it just recollects metrics from either it's own computer or another one. If you want to monitor something, you also need that something to publish metrics, so they can be scrapped by Prometheus.

Thus if you want to monitor even just a single computer, you need node-exporter to publish the metrics, and Prometheus to gather them. Then you can use Grafana to create beautiful dashboards (or use community's), and even add alarms to it.

[–] mrnobody@reddthat.com 2 points 7 hours ago (2 children)

Dang, that's a lot of seperate parts for 1 "simple" task smh. It's one of the reasons I've stayed away from all this Docker nonsense. I get it's FOSS and is a great alternative to a lot of paid garbage, but just seems like there could be an easier way... Nice to learn, tinker, etc, but if it breaks, then it seems more complicated to fix as each component is separate.

I've just supported Window for so long and there's a second-nature to troubleshooting; but took years to get there, ya know? I'll check it out for sure, but I'm still going to look around myself

[–] Danitos@reddthat.com 3 points 6 hours ago* (last edited 6 hours ago) (1 children)

Dang, that's a lot of seperate parts for 1 "simple" task

Agree, but this setup (node-exporter + Prometheus + Grafana) allows for a lot of expansion and customization. I'm sure there are simpler tools that tell you your computer status, and it's up to you to see which fits more your use-case.

but just seems like there could be an easier way

I've felt that way before. But in this case of node-exporter and Prometheus, it's way simpler. You don't even need Docker, and the installation for both tools is basically a single line that you can copy and paste from their documentation.

Configuring Prometheus to accept node-exporter is a bit harder I admit, but again you can simply copy and paste the documentation example. The whole process should take like ~10 minutes if you follow the documentation.

[–] mrnobody@reddthat.com 1 points 3 hours ago

Sweet, thank you

[–] tofu@lemmy.nocturnal.garden 1 points 6 hours ago

Not sure how that's related to docker. It's the prometheus setup which can be run natively just fine. Still needs an agent that actually retrieves info from the OS.

Certainly there's "single executable" tools as well. I just don't know them.

[–] Danitos@reddthat.com 4 points 7 hours ago

Prometheus+Grafana is my go-to. You can also add Drilldown plugin to Grafana and it will monitor Docker logs.

Prometheus is incredibly versatile and widely used, so a lot of projects support metrics export to it, so IMO is your safest blind bet.

For even more custom behaviour, you can create very simple Python scripts that send data to Prometheus.

[–] statelesz@slrpnk.net 2 points 7 hours ago

It's not primarily made for monitoring, but Dockhand has a lot of great monitoring for your whole host and for individual containers.

[–] irmadlad@lemmy.world 3 points 8 hours ago* (last edited 8 hours ago)

There are a lot of server monitoring softwares out there, but Netdata gives you just about every metric I'd ever want to look at. Can be deployed using Docker (https://learn.netdata.cloud/docs/netdata-agent/installation/docker).

The one thing I do when linking to Netdata in whatever dashboard you are running, I use the v3 switch at the end of the url thusly:

https://netdata.mycoolserver.com/v3

That way you don't have to log in to the mother ship to view your metrics.

ETA: mobile app available

[–] just_another_person@lemmy.world 2 points 8 hours ago

SigNoz or Uptrace are alternatives to something like DataDog, which is the route you want to go versus checking each individual machine.

You could also just use Prometheus+Grafana and build your own monitoring dashboards and alerts that way, but will be a bit more manual at first.