/ vs / uptime-kuma

Fettle vs Uptime Kuma: hosted vs self-hosted

Uptime Kuma is free software you host; Fettle is a hosted service. What each costs to run, who watches the monitor, and when Uptime Kuma is the better fit.

We make Fettle, so read this comparison with that in mind. Uptime Kuma's figures come from its own pages, linked at the end.

Updated

Choose Uptime Kuma if

  • you already run servers and want monitoring without a subscription: Uptime Kuma is MIT-licensed and costs nothing to license
  • the services you watch sit on a private network that no hosted checker can reach, so the monitor has to live inside it
  • you want monitor types Fettle does not run, such as Docker containers, Steam game servers or WebSocket endpoints
  • you want a notification service Fettle does not offer: Uptime Kuma's README lists 90+, and Fettle has 5 types

Choose Fettle if

  • you want the monitor to run outside the infrastructure it watches, so an outage of your server or network cannot silence its own alert
  • you want each monitor checked from every region you select in the same interval, with an incident only when all of them fail, where Uptime Kuma checks from the one server it is installed on
  • you would rather not patch, upgrade and back up a monitoring server: Fettle is hosted, and its free plan covers 20 monitors with no card
  • you want a documented REST API and an MCP server on every plan, including free, where Uptime Kuma manages monitors over an internal Socket.io API

Fettle and Uptime Kuma, side by side

MetricFettleUptime Kuma
50 monitors, $/mo billed yearly$7.50 Plus, $90 billed yearly — 50 monitors $0 self-hosted software under the MIT licence, with no monthly or yearly bill from the project; the server it runs on, and keeping that server up, are yours to pay for
Shortest interval on that plan60 seconds Plus and Pro; 30 seconds on Max for up to 50 monitors 20 seconds the shortest check interval the project's README lists
Cheapest plan with 30-second checks$32.50 Max, $390 billed yearly — 30-second checks on up to 50 of its 300 monitors $0 an interval is a setting, not a plan; the extra load lands on your own server
Check modelFan-out every selected region checks the monitor every interval One server every check runs from the machine Uptime Kuma is installed on; its Globalping monitor type hands a check to one community probe at a location you pick instead
Location pool3 USA, Europe and Asia 1 the server you install it on; a Globalping monitor picks a probe location of its own instead
Locations used per interval2 on Plus, 3 on Pro and Max an incident opens only when every selected region fails, on as many consecutive checks as the monitor asks for (1 to 10) 1 one check per interval; a failure is retried as many times as the monitor's Retries setting allows before it is marked down
Status pages1 / 3 / 10 Plus / Pro / Max; 1 on the free plan Multiple each mappable to its own domain, per the README
Heartbeat / cron monitoring20 / 50 / 150 Plus / Pro / Max; 3 on the free plan Push monitors a monitor type the README lists, for a job that reports in on its own
Integrations5 types email, Telegram, webhook, Slack, Discord 90+ notification services the README lists
REST APIOn every plan, including free 30 to 300 requests per minute by tier Internal only monitors are managed over the Socket.io connection the web app uses, which the project's wiki calls internal and not supported for third-party use; its REST endpoints cover push monitors, badges, Prometheus metrics and status pages
History retention90 / 180 / 365 days Plus / Pro / Max 365 days by default a setting in release 2.5.8; 0 keeps history forever, on your own disk

Two ways to run the same job

Uptime Kuma is open-source monitoring software. You install it on a machine you control, usually with one Docker command from its README, and it checks your services from there. Fettle is a hosted service: the checks run from our regions (USA, Europe and Asia), and there is nothing to install. Both watch websites and APIs and both alert when they go down, so the question is less which one checks better and more where you want the monitor to live and who keeps it running.

This page reads Uptime Kuma from its README, its wiki and the source of release 2.5.8 (the latest release, published on 2026-10-26), all on 2026-10-31.

What each one costs to run

Uptime Kuma's price is $0: self-hosted software under the MIT licence, with no monthly or yearly bill from the project; the server it runs on, and keeping that server up, are yours to pay for. It can share a server you already pay for. The real cost is time: updates, backups, disk space for history, and the occasional evening when the monitoring box is the thing that broke.

Fettle's free plan covers 20 monitors every 3 minutes from 1 region and 3 heartbeats. Plus is $7.50 a month billed yearly for 50 monitors, and Max, at $32.50, runs up to 50 of its 300 monitors every 30 seconds. On Uptime Kuma, an interval is a setting, not a plan; the extra load lands on your own server.

Who watches the watcher?

Nobody, unless you set it up. A self-hosted monitor shares a fate with the machine it runs on: if that server loses power, fills its disk or drops off the network, the checks stop, and so do the alerts that would have told you. Put it on the same host as your services, and one outage silences both.

The usual fix is a second monitor somewhere else, watching the first. A hosted service is that by construction: Fettle's checks run on infrastructure that is not yours, so your outage does not silence them. Uptime Kuma can also take part in the reverse arrangement: it can call a Fettle heartbeat URL on an interval, and if the calls stop, Fettle raises the alarm.

One server or several regions

Uptime Kuma's check model is one server: every check runs from the machine Uptime Kuma is installed on; its Globalping monitor type hands a check to one community probe at a location you pick instead. A failed check is retried as many times as the monitor's Retries setting allows before the monitor is marked down. That is a fine model when the server sits close to your users, and the right one when the services are on a private network that nothing outside can reach. Fettle cannot check a private address at all.

Fettle runs each paid monitor from every region you select, in the same interval, and an incident opens only when every selected region fails, on as many consecutive checks as the monitor asks for (1 to 10). When only some regions fail, the monitor shows as degraded and no alert goes out, so one region's routing trouble does not page anyone. Regions per monitor are 2 on Plus, 3 on Pro and Max, and 1 on the free plan.

Monitor types, alerts and status pages

Uptime Kuma's README lists HTTP(s), TCP, keyword, JSON query, WebSocket, ping, DNS record, Push, Steam game server and Docker container monitors, and the source of release 2.5.8 has more, among them database, MQTT and gRPC checks. Its README lists intervals of 20 seconds; the code goes lower, to 1 second (src/util.ts), and its monitor form warns that anything under 20 seconds may perform poorly (EditMonitor.vue). It sends alerts through 90+ notification services the README lists, and it serves multiple status pages, each mappable to its own domain, per the README.

Fettle has HTTP, ping, TCP, DNS and SSL checks plus heartbeat and cron monitoring. Alerts go to email, Telegram, webhook, Slack, Discord, and the number of status pages grows with the plan: 1 on the free plan, then 1 / 3 / 10 on Plus / Pro / Max. Uptime Kuma covers more kinds of target and more alert services; if your monitoring list includes a game server or a container on the same host, that settles it.

API and AI agents

Uptime Kuma's web app talks to its server over a Socket.io connection, and the project's wiki calls that API internal and not supported for third-party use. Its REST endpoints cover push monitors, badges, Prometheus metrics and status pages, so creating or changing monitors from a script means driving the internal API.

Fettle's REST API is on every plan, including free, rate-limited at 30 to 300 requests per minute by tier, and its MCP server is on every plan, including free. An agent such as Claude or Codex can handle creation, updates, pausing, resuming and deletion of monitors through it.

History and upkeep

Uptime Kuma keeps 365 days by default: a setting in release 2.5.8; 0 keeps history forever, on your own disk, so the limit is the size of your disk. Upgrades are yours to schedule, from one release to the next; the latest is 2.5.8. Fettle keeps 90 / 180 / 365 days of history (Plus / Pro / Max), and we run the upgrades.

Questions

Is Uptime Kuma free?
The software is: it is MIT-licensed, with no plan, seat or monitor price. What you pay for is the machine it runs on and the time to keep that machine patched, backed up and online. Fettle's free plan covers 20 monitors every 3 minutes from 1 region with 3 heartbeats, and Plus is $7.50 a month billed yearly for 50 monitors.
Can Uptime Kuma check a site from several locations?
A standard Uptime Kuma monitor runs from the server it is installed on. Release 2.5.8 also has a Globalping monitor type, which hands a check to one community probe at a location you choose, so each monitor still has one vantage point. A paid Fettle monitor is checked from every region you select in the same interval: an incident opens only when every selected region fails, on as many consecutive checks as the monitor asks for (1 to 10). A failure in only some of them shows as degraded and alerts no one.
Who monitors Uptime Kuma itself?
Nothing, unless you arrange it. If the server, its disk or its network fails, the checks and the alerts stop with it, and no message says so. Something outside has to watch it: a Fettle HTTP monitor pointed at the Uptime Kuma dashboard, or a Fettle heartbeat that Uptime Kuma calls on an interval, so silence raises the alert. Both fit in Fettle's free plan, which includes 3 heartbeats.

Uptime Kuma's figures on this page were last verified on 2026-10-31 against Uptime Kuma's own pages. Releases change what the software does; check the project's own page before deciding — Uptime Kuma README.

Try Fettle free

The free plan monitors 20 endpoints every 3 minutes from 1 region and emails you when one breaks. No card needed. See pricing for the paid intervals, or compare every tool side by side.