How much RAM does Uptime Kuma need? We measured: 136 MB idle
Uptime Kuma (uptime monitoring) used 136 MB of RAM across 1 process sitting idle with default configuration — measured by us, on real hardware, not copied from another blog. Runtime: Node.js 20 (single process, embedded SQLite)
Fine alongside one or two small Go apps on 1 GB; give it its own 1 GB box if you run 50+ monitors.
What the vendors say
Hosting-provider guides commonly recommend 1–2 GB VPS plans for Uptime Kuma.
What changes under load
Node's heap grows with monitor count and retention. With dozens of monitors polling every 20–60 s, expect 200–300 MB over time. The 1-year history charts are the main memory driver.
Methodology
Each app was started with its default configuration and an empty data directory, left to settle for 25–30 seconds, and confirmed alive with an HTTP request to its web interface. We then recorded the resident set size (RSS) of the app's entire process tree via ps. Apps were run directly on the host (no Docker), so numbers exclude container overhead (~10–30 MB with Docker).
A fresh minimal Ubuntu 24.04 VPS typically idles at roughly 200–300 MB RSS (kernel, systemd, sshd, journald). All 'fits on' verdicts below assume ~300 MB reserved for the OS.
Where to run it
A 512 MB instance from Hetzner, Vultr or DigitalOcean covers this app with the OS overhead included. Don't pay for RAM the measurements say you won't use.
Other apps we measured
File Browser (16 MB), Gotify (20 MB), ntfy (27 MB), PocketBase (31 MB), Caddy (40 MB), Navidrome (47 MB), Syncthing (57 MB), Prometheus (70 MB), MinIO (132 MB), Gitea (158 MB), Forgejo (173 MB), code-server (VS Code in the browser) (191 MB)