Fall 2026brianmars.comBuilt at EGBT Technologies
ReferenceDashboards

Uptime Kuma

Up and down checks for every service, probing 127.0.0.1 from host networking, with alerts that actually arrive.

Names and addresses are placeholders. The list says what each one stands for.

What it does here

Uptime Kuma checks each service on a schedule and sends a message when one goes down. The alert is the point. A status page nobody watches doesn't help.

From the manual

Canonical setup

One container with a data folder. Set the admin account, add a monitor per service, set up a notification channel, and attach it to every monitor.

Upstream: Uptime Kuma.

Edited for this build

In this build

  1. Host networkingThe services bind to 127.0.0.1, and only a container on the host network can reach the host's loopback.
  2. Monitors on 127.0.0.1, not localhostForgejo on 3000, Dockge on 5001, Beszel on 8090.
  3. Email alerts through the shared relaySee the msmtp card.
  4. Served by Caddy as status.dev.tailnet.exampleIt listens on 3001.
/srv/stacks/uptime-kuma/docker-compose.yml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    restart: unless-stopped
    network_mode: host
    volumes:
      - /srv/data/uptime-kuma:/app/data
Where it breaks

Seams

Where this meets the rest of the build. Each one leads with what you will actually see.

localhost meets IPv6

Symptomconnect ECONNREFUSED ::1:3000

localhost resolves to the IPv6 address ::1 first, where nothing listens. Write monitors as http://127.0.0.1:3000.

A bridge container meets the host's loopback

Symptomevery monitor shows down

In a bridge container, 127.0.0.1 is the container itself. Run Uptime Kuma on host networking.

A monitor meets no notification

Symptoma service is down and nobody hears about it

A notification channel does nothing until it's attached to each monitor. Attach it, and send a test.

Verify

Every monitor is green. Stop one container with docker stop dockge, wait for the alert to arrive, then docker start dockge.

Corrections and updates
  1. 17 Oct 2026First written.