Uptime Kuma Setup

Deploy Uptime Kuma on Witchly.host — a self-hosted status page and monitoring tool. Track websites, APIs, game servers, and more with alerts.

Uptime Kuma Setup

Uptime Kuma is a beautiful self-hosted monitoring tool — think Uptime Robot or StatusCake, but running on your own server. Monitor HTTP(S), TCP, DNS, ping, keyword, Docker containers, Steam servers, push-style endpoints, and more. Push notifications go to Discord, Slack, Telegram, email, and 90+ other services.

Why self-host monitoring

  • Your monitoring lives on infrastructure you control, independent from the thing you’re monitoring.
  • No per-monitor cost — run 100+ checks for the price of one Elite app.
  • Public status pages are free; unlimited subscribers.

Deploying

  1. dash.witchly.hostDeployApplicationsUptime Kuma.
  2. The Helper (1 GB RAM) is plenty for hundreds of monitors.
  3. Click Deploy.

First-run setup

  1. Wait for the install script to finish (first boot clones and sets up the repo — takes 30–60 seconds).
  2. On the Console tab, you’ll see Listening on 0.0.0.0:<port>.
  3. Copy your server’s IP and port from the Overview tab.
  4. Open http://<ip>:<port> in your browser.
  5. Create the admin account on first visit. Save the credentials — there’s no password reset UI.

Adding monitors

Click + Add New Monitor and pick a type:

  • HTTP(S) — website up/down checks
  • TCP Port — check a game server port is open
  • Ping — ICMP ping
  • Keyword — check that a string appears in the HTTP response
  • Docker Container — health of a container
  • Push — heartbeat-style; you push to Uptime Kuma instead of it pulling

Set the interval (20s minimum on the free tier; lower on Elite), retries, and notifications.

Status pages

Create a public status page under SettingsStatus Pages. Add monitors, customize the title/logo, and share the URL with your community.

Notifications

Go to SettingsNotificationsSetup Notification. Uptime Kuma supports:

  • Discord webhook
  • Slack webhook
  • Telegram bot
  • Email (SMTP)
  • ntfy, Pushover, Gotify, Webhook, and dozens more

Test each notification before saving.

Auto-update

The AUTO_UPDATE variable on the Startup tab is set to 1 by default. Uptime Kuma will npm run setup on each server start to pull the latest release. Set it to 0 if you want to pin the current version (e.g., while investigating a regression).

Data persistence

All your monitors, notifications, and status pages are stored in a local SQLite DB inside the server. Enable backups — losing this database loses your entire monitoring setup.

Troubleshooting

  • Can’t reach the web UI — verify you’re using the port from the Overview tab (not the default 3001). Check the Console tab for Listening on....
  • Install hangs — first boot downloads Node packages; give it 2–3 minutes. If it still hangs, Reinstall from the Startup tab.
  • Notifications silent — test them individually from the Notifications settings page; common cause is an expired webhook token.

Next steps