SuperKuma is an easy-to-use self-hosted monitoring tool, with built-in Master-Agent federation, multi-tenant Teams/RBAC, and a built-in MCP server that lets AI agents configure and manage your monitoring β across multiple instances and teams.
- ~30 monitor types: HTTP(s) / Keyword / JSON Query / Browser Engine, TCP Port, Ping, DNS, Docker Container, System Service, Push, gRPC(s), MQTT, RabbitMQ, Kafka Producer, SNMP, SMTP, Websocket, Globalping, Steam / GameDig game servers, and direct database checks for MySQL/MariaDB, PostgreSQL, MongoDB, Redis, MSSQL, Oracle and Radius β full list
- Fancy, Reactive, Fast UI/UX
- Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and 90+ notification services, click here for the full list
- 20-second intervals
- Multi Languages
- Multiple status pages
- Map status pages to specific domains
- Ping chart
- Certificate info
- Proxy support
- 2FA support
- Master-Agent federation for multi-instance monitoring
- Long-term monthly metrics history
- Query Prometheus with PromQL to alert on host metrics β CPU / RAM / disk I/O, SQL Server, and anything an exporter exposes
- Multi-tenant Teams with granular role-based access control (RBAC)
- Built-in MCP server β let an AI agent add/edit monitors, notifications, tags, status pages and maintenance (docs)
Monitor detail with response-time chart |
Teams / RBAC settings |
Public status page |
|
Ships with a dedicated MariaDB container out of the box β no database setup step, no manual
configuration. It also bundles an InfluxDB container for the optional influxdb monitor type
(e.g. pulling metrics that a pfSense firewall's Telegraf package writes) β see
references/pfsense-telegraf.md.
You don't need to touch it if you're not using that monitor type.
mkdir superkuma
cd superkuma
curl -o compose.yaml https://raw.githubusercontent.com/alltomatos/superkuma/main/compose.yaml
echo "SUPERKUMA_DB_PASSWORD=$(openssl rand -hex 24)" > .env
echo "SUPERKUMA_INFLUXDB_PASSWORD=$(openssl rand -hex 24)" >> .env
docker compose up -dSuperKuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001) β go straight to creating your admin account, the database is already configured.
Warning
File Systems like NFS (Network File System) are NOT supported. Please map to a local directory or volume.
Note
Prefer SQLite for a small, single-file standalone install? Use the "Docker Command" or "Non-Docker" install path below and pick SQLite in the setup wizard β it's still fully supported, just no longer the Docker Compose default.
docker run -d --restart=always -p 3001:3001 -v superkuma:/app/data --name superkuma ronaldodavi/superkuma:2SuperKuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001).
If you want to limit exposure to localhost only:
docker run ... -p 127.0.0.1:3001:3001 ...The repo ships a self-contained Dockerfile (repo root) that builds everything in one
step β no pre-published base images required:
git clone https://github.com/alltomatos/superkuma.git
cd superkuma
docker build -t superkuma .
docker run -d --restart=always -p 3001:3001 -v superkuma:/app/data --name superkuma superkumaThe published
ronaldodavi/superkumaimage is built from this sameDockerfileand pushed by the Release Docker workflow on each version tag. It's currently published for linux/amd64 only; on arm64 (e.g. Raspberry Pi) build it yourself with the command above instead of pulling the published image.
Requirements:
- Platform
- β Major Linux distros such as Debian, Ubuntu, Fedora and ArchLinux etc.
- β Windows 10 (x64), Windows Server 2016 (x64) or higher
- β FreeBSD / OpenBSD / NetBSD
- β Replit / Heroku
- Node.js >= 20.4
- Git
- pm2 - For running SuperKuma in the background
git clone https://github.com/alltomatos/superkuma.git
cd superkuma
npm run setup
# Option 1. Try it
node server/server.js
# (Recommended) Option 2. Run in the background using PM2
# Install PM2 if you don't have it:
npm install pm2 -g && pm2 install pm2-logrotate
# Start Server
pm2 start server/server.js --name superkumaSuperKuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001).
More useful PM2 Commands
# If you want to see the current console output
pm2 monit
# If you want to add it to startup
pm2 startup && pm2 saveSuperKuma ships a built-in MCP (Model Context Protocol) server, so an AI assistant can inspect and configure your instance β create/edit monitors, manage notifications, tags, status pages and maintenance windows β through a safe, gated set of tools.
- Read-only by default. Writes and deletes are opt-in via environment variables; deletes also require a per-call confirmation.
- Authenticates with an API key (no password), scoped by the same Teams/RBAC as the dashboard.
- Two transports. Run it locally over stdio, or enable the built-in remote HTTP endpoint (
/mcp) so a client connects to your instance directly (e.g. viamcp-remote).
See server/mcp/README.md for setup, and ADR-0011 for the design.
Using Claude Code? The superkuma-monitoring skill drives the MCP server to discover a site's infrastructure and set up monitors, tags and status pages for you, and includes a playbook for standing up a new instance.
Requests/issues are assigned to upcoming milestones.
https://github.com/alltomatos/superkuma/milestones
SuperKuma began as a fork of Uptime Kuma β an excellent self-hosted monitoring tool built by Louis Lam and its contributors β and builds on that foundation. It has since grown into its own project, extending the original with Master-Agent federation for multi-instance monitoring, long-term metrics history, PromQL-based host-metrics alerting, multi-tenant Teams/RBAC, and a built-in MCP server for AI agents.
If you find SuperKuma useful, consider giving it a β β and if you'd like to support the project it's built on, Uptime Kuma deserves one too.
SuperKuma is MIT licensed.
Pull requests are awesome.
To keep reviews fast and effective, please make sure you've read our pull request guidelines. New to the codebase? CONTEXT.md has a domain glossary and map of the main areas.
See what changed in each version: https://github.com/alltomatos/superkuma/releases
Check out the latest beta release here: https://github.com/alltomatos/superkuma/releases
If you want to report a bug or request a new feature, feel free to open a new issue.
If you want to translate SuperKuma into your language, please visit the translations readme.
Feel free to correct the grammar in the documentation or code.