AutoKuma is a free, open source monitoring & observability project written in Rust and released under MIT. It has 898 GitHub stars, 47 forks and 11 open issues, and was last pushed 3 months ago. On this registry it ranks #91 of 97 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available.

What is AutoKuma?

AutoKuma is an MIT-licensed Rust utility that creates Uptime Kuma monitors automatically from Docker container labels, .json/.toml files, or Kubernetes custom resources, made for self-hosters and operators who run Uptime Kuma next to containerized services and do not want to add monitors one by one in the web UI.

What it is

AutoKuma lives in the self-hosted monitoring ecosystem around Uptime Kuma. It connects to a running Uptime Kuma instance over the SocketIO API, watches supported sources for monitor definitions, and creates, updates, and manages the corresponding monitors, notifications, tags, and maintenance entries on your behalf. Docker is the primary source: monitors are declared as container labels, and AutoKuma reconciles them into Uptime Kuma whenever containers start, stop, or change.

The specific thing it replaces is manual monitor creation in the Uptime Kuma UI. Instead of logging into the dashboard and filling in a form for every service, an operator attaches labels such as kuma.my-app.http.name and kuma.my-app.http.url to a container, and the monitor appears automatically. Configuration also supports files in .json and .toml format, Docker Swarm service and container labels, and Kubernetes custom resources defined in autokuma/kubernetes/crds-autokuma.yml.

Key capabilities

  • Label-driven monitor creation using the format kuma..., for example kuma.my-app.http.url.
  • Configurable label prefix through the AUTOKUMA__DOCKER__LABEL_PREFIX environment variable, defaulting to kuma.
  • A Files provider that sources monitors from .json and .toml files, alongside the Docker provider.
  • Kubernetes support through CRDs shipped in autokuma/kubernetes/crds-autokuma.yml, plus Docker Swarm service and container labels.
  • Monitor types beyond HTTP, including ping and dns, with groups, notifications, tags, templating, snippets, and static monitors covered in the documentation.
  • The companion Kuma CLI, a terminal tool with monitor, tag, notification, maintenance, status-page, and docker-host resources, each exposing subcommands such as add, delete, edit, list, get, pause, resume, and test.
  • The kuma-client Rust crate, a client library for the Uptime Kuma SocketIO API, available for anyone building their own integrations.

Who uses it and how

  • Homelab and small-server operators running a Docker Compose stack where Uptime Kuma is reachable at an internal address such as http://uptime-kuma:3001, with AutoKuma mounting /var/run/docker.sock and a persistent autokuma-data:/data volume.
  • Teams that deploy many containers and want monitoring to follow the deployment, so a new service is watched as soon as its Compose file is applied.
  • Operators who prefer declarative version control, writing monitor definitions into .json or .toml files rather than clicking through a dashboard.
  • Administrators who want terminal-driven management, using the Kuma CLI with subcommands such as monitor add and maintenance pause, installed from GitHub Releases, Snap, or Cargo.
  • Kubernetes and Docker Swarm users, with the caveat that both sources are supported on an as-is basis.

Getting started

The fastest path is Docker Compose with the image ghcr.io/bigboot/autokuma:latest, setting AUTOKUMA__KUMA__URL, AUTOKUMA__KUMA__USERNAME, and AUTOKUMA__KUMA__PASSWORD to point at your Uptime Kuma instance. Prebuilt binaries for Windows, Linux, and macOS are also published on GitHub Releases, and the Kuma CLI installs through sudo snap install kuma or cargo install --git https://github.com/BigBoot/AutoKuma.git kuma-cli.

How it compares

This registry entry does not provide a list of paid products that AutoKuma replaces, so no commercial comparison is drawn here. Among similar tools, the facts name none: AutoKuma stands alone in this registry, and it complements Uptime Kuma rather than competing with it, since Uptime Kuma remains the instance that stores and evaluates every monitor AutoKuma defines.

When to use it — and when not to

A self-hoster must already run an Uptime Kuma instance with credentials available to AutoKuma, grant the container access to the Docker socket, and provide persistent storage for /data. Anyone who does not use Docker, files, Swarm, or Kubernetes as a monitor source gains nothing here, and anyone who needs a maintained Swarm or Kubernetes integration should be cautious: the README states that those sources are supported on an as-is basis, that the maintainer does not run them, and that they are effectively looking for a maintainer. The project is actively pushed and MIT-licensed, but the Docker provider is clearly the well-trodden path.

project readme (upstream, from github) — read inline

GitHub Actions Workflow Status GitHub Tag GHCR Tag

AutoKuma    Kuma CLI    Kuma Client    Documentation    Playground

AutoKuma 🐻 Crates.io Version

AutoKuma is a utility that automates the creation of Uptime Kuma monitors based on Docker container labels. With AutoKuma, you can eliminate the need for manual monitor creation in the Uptime Kuma UI.

Supported Sources

Source Description Support
Docker Monitors are sourced from container labels
Files Monitors are sourced from .json/.toml files
Docker Swarm Monitors can be sourced from service and/or container labels ⚠️*
Kubernetes Monitors are sourced from CR, see the CRDs in autokuma/kubernetes/crds-autokuma.yml. Additionally the Files and Docker provider might be used depending on your setup ⚠️*

*These sources are supported on an as-is basis as I'm currently not running any of them (they are basically looking for a maintainer, please get in contact if you'd like to adopt one or add support for another source).

Quick Start 🚀

The fastest way to get going is with Docker Compose:

version: '3'

services:
  autokuma:
    image: ghcr.io/bigboot/autokuma:latest
    restart: unless-stopped
    environment:
      AUTOKUMA__KUMA__URL: http://uptime-kuma:3001
      AUTOKUMA__KUMA__USERNAME: <username>
      AUTOKUMA__KUMA__PASSWORD: <password>
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - autokuma-data:/data

volumes:
  autokuma-data:

Then add labels to any container you want to monitor:

labels:
  kuma.my-app.http.name: "My App"
  kuma.my-app.http.url: "https://my-app.example.com"

AutoKuma picks up the labels and creates the monitor in Uptime Kuma automatically.

For full installation options (prebuilt binaries, platforms, dev builds) see the Installation docs.

Usage 💡

Labels follow this format:

<prefix>.<id>.<type>.<setting>: <value>
  • `` - Default is kuma, configurable via AUTOKUMA__DOCKER__LABEL_PREFIX.
  • `` - A unique identifier for the monitor.
  • `` - The monitor type (e.g. http, ping, dns).
  • `` - The property to set.

The docs cover everything else: groups, notifications, tags, templating, snippets, static monitors, and all entity types.

Configuration 🔧

At minimum you need to point AutoKuma at your Uptime Kuma instance:

AUTOKUMA__KUMA__URL=http://localhost:3001
AUTOKUMA__KUMA__USERNAME=<username>
AUTOKUMA__KUMA__PASSWORD=<password>

See the Configuration docs for the full reference, including TLS, Docker host options, secret files, and config file locations.

Kuma CLI 🤖 Crates.io Version kuma

Kuma CLI is a command-line tool for managing Uptime Kuma directly from the terminal.

Commands

Resource Subcommands
monitor add, delete, edit, list, get, pause, resume
tag add, delete, edit, ls, get
notification add, delete, edit, ls, get
maintenance add, delete, edit, ls, get, pause, resume
status-page add, delete, edit, ls, get
docker-host add, delete, edit, ls, get, test

How to Install 📦

Binaries for Windows, Linux and macOS are available on GitHub Releases. You can also install via Snap or Cargo:

sudo snap install kuma
# or
cargo install --git https://github.com/BigBoot/AutoKuma.git kuma-cli

See the Kuma CLI docs for usage, all options, and configuration.

Kuma Client 🧑‍💻 Crates.io Version

kuma-client is a Rust crate that provides a client library for interacting with the Uptime Kuma SocketIO API.

Please take a look at the examples and the documentation for further details.

Contributing 👥

Contributions to AutoKuma are welcome! Feel free to open issues, submit pull requests, or provide feedback.

License 📜

AutoKuma is released under the MIT License.

Frequently asked questions

Is AutoKuma free to use?

AutoKuma is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does AutoKuma do?

AutoKuma is a utility that automates the creation of Uptime Kuma monitors based on Docker container labels. With AutoKuma, you can eliminate the need for manual

What is AutoKuma written in?

AutoKuma is primarily written in Rust. Its source is publicly available at https://github.com/BigBoot/AutoKuma, and it has 898 GitHub stars.