AutoKuma

AutoKuma

Docker app from grtgbln's Repository

Overview

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.

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>
  • <prefix> - Default is kuma, configurable via AUTOKUMA__DOCKER__LABEL_PREFIX.
  • <id> - A unique identifier for the monitor.
  • <type> - The monitor type (e.g. http, ping, dns).
  • <setting> - 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.

Install AutoKuma on Unraid in a few clicks.

Find AutoKuma in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for AutoKuma Review the template variables and paths Click Install

Requirements


        Requires a separate Uptime Kuma server
        
        Requires Docker containers to be labeled with the appropriate "Docker label prefix"
        You can add labels to a Docker container using the "Add another Path, Port, Variable, Label or Device" button in the Docker container settings.
        More about required labels here: https://github.com/BigBoot/AutoKuma?tab=readme-ov-file#usage-
    

Related apps

Details

Repository
ghcr.io/bigboot/autokuma
Last Updated2026-07-15
First Seen2024-05-09

Runtime arguments

Network
bridge
Privileged
true

Template configuration

Uptime Kuma URLVariable

URL of the Uptime Kuma instance to add monitors to

Target
AUTOKUMA__KUMA__URL
Default
http://localhost:3001
Uptime Kuma usernameVariable

Uptime Kuma username, required if auth is enabled

Target
AUTOKUMA__KUMA__USERNAME
Uptime Kuma passwordVariable

Uptime Kuma password, required if auth is enabled

Target
AUTOKUMA__KUMA__PASSWORD
Uptime Kuma MFA tokenVariable

Uptime Kuma MFA token, required if MFA is enabled

Target
AUTOKUMA__KUMA__MFA_TOKEN
Uptime Kuma tag nameVariable

The name of the AutoKuma tag, used to track managed containers

Target
AUTOKUMA__TAG_NAME
Default
AutoKuma
Uptime Kuma tag colorVariable

The color of the AutoKuma tag

Target
AUTOKUMA__TAG_COLOR
Default
#42C0FB
Docker label prefixVariable

The prefix for Docker labels that AutoKuma should look for

Target
AUTOKUMA__DOCKER__LABEL_PREFIX
Default
kuma
On deletion actionVariable

The action to take on the Uptime Kuma monitor when a container is deleted

Target
AUTOKUMA__ON_DELETE
Default
delete|keep
Uptime Kuma headersVariable

Comma-separated list of HTTP headers to send when connecting to Uptime Kuma

Target
AUTOKUMA__KUMA__HEADERS
Uptime Kuma connection timeoutVariable

The timeout for the initial connection to Uptime Kuma, in seconds

Target
AUTOKUMA__KUMA__CONNECT_TIMEOUT
Default
5
Uptime Kuma call timeoutVariable

TThe timeout for executing calls to the Uptime Kuma server, in seconds

Target
AUTOKUMA__KUMA__CALL_TIMEOUT
Default
5
Static monitor configuration pathsVariable

Path to the directory inside the container containing static monitor configurations

Target
AUTOKUMA__STATIC_MONITORS
Default
/static_monitors
AutoKuma static monitor configurationsPathrw

Path to the directory containing static monitor configurations

Target
/static_monitors
Default
/mnt/user/appdata/autokuma/static_monitors
Value
/mnt/user/appdata/autokuma/static_monitors
Docker socketPathro

Path to the Docker socket

Target
/var/run/docker.sock
Default
/var/run/docker.sock
Value
/var/run/docker.sock