SkillAgentSearch skills...

AutoKuma

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.

Install / Use

/learn @BigBoot/AutoKuma
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center" width="100%"> <img src="./logo.svg" height="196" alt="" /> </div>

<div align="center" width="100%"> <p> <a href="https://github.com/BigBoot/AutoKuma/actions"><img alt="GitHub Actions Workflow Status" src="https://img.shields.io/github/actions/workflow/status/BigBoot/AutoKuma/docker-build-push.yml?style=flat&logo=rust&link=https%3A%2F%2Fgithub.com%2FBigBoot%2FAutoKuma%2Factions"></a> <a href="https://github.com/BigBoot/AutoKuma/releases/latest"><img alt="GitHub Tag" src="https://img.shields.io/github/v/tag/BigBoot/AutoKuma?logo=github&label=latest"></a> <a href="https://ghcr.io/bigboot/autokuma"><img alt="GHCR Tag" src="https://img.shields.io/github/v/tag/BigBoot/AutoKuma?logo=docker&logoColor=white&label=GHCR"></a> </p> <p> <b> <a href="#autokuma--">AutoKuma</a> &nbsp&nbsp <a href="#kuma-cli---">Kuma CLI</a> &nbsp&nbsp <a href="#kuma-client--">Kuma Client</a> &nbsp&nbsp <a href="https://autokuma-playground.bigboot.dev">Playground</a> </b> </p> </div>

AutoKuma 🐻 <a href="https://crates.io/crates/autokuma"><img alt="Crates.io Version" src="https://img.shields.io/crates/v/autokuma?logo=rust&color=blue"></a>

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

AutoKuma initially supported sourcing monitor configurations from docker labels, over the time a few other methods were added, here is an overview of the available 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).

How to Install 📦

Supported Platforms

| Platform | Architecture | Docker Images | Prebuild Binaries | Notes | |----------|--------------|---------------|-------------------|------------------------| | Windows | x64 | ⛔︎ | ✅ | | | Windows | arm64 | ⛔︎ | ⛔︎ | | | Linux | x64 | ✅ | ✅* | | | Linux | arm64 | ⚠️* | ⛔︎ | Experimental | | Mac | x64 | ⛔︎ | ⛔︎ | | | Mac | arm64 | ⛔︎ | ⚠️* | Experimental |

Binaries for windows linux and mac are provided for GitHub Releases, additionally AutoKuma is available as a Docker container on GitHub Container Registry (GHCR). To install, simply pull the container using:

Latest Release:

# For Uptime Kuma V2
docker pull ghcr.io/bigboot/autokuma:latest
# For Uptime Kuma V1
docker pull ghcr.io/bigboot/autokuma:uptime-kuma-v1-latest

Dev Version:

# For Uptime Kuma V2
docker pull ghcr.io/bigboot/autokuma:master
# For Uptime Kuma V1
docker pull ghcr.io/bigboot/autokuma:uptime-kuma-v1-master

❗ The dev version might break or contain breaking changes without warning, usage on a production system is not adviced.

Example Docker Compose 🚀

Here's an example docker-compose.yml:

version: '3'

services:
  autokuma:
    image: ghcr.io/bigboot/autokuma:latest
    restart: unless-stopped
    environment:
      AUTOKUMA__KUMA__URL: http://localhost:3001
      # AUTOKUMA__KUMA__USERNAME: <username> 
      # AUTOKUMA__KUMA__PASSWORD: <password>
      # AUTOKUMA__KUMA__MFA_TOKEN: <token>
      # AUTOKUMA__KUMA__HEADERS: "<header1_key>=<header1_value>,<header2_key>=<header2_value>,..."
      # AUTOKUMA__KUMA__CALL_TIMEOUT: 5
      # AUTOKUMA__KUMA__CONNECT_TIMEOUT: 5
      # AUTOKUMA__TAG_NAME: AutoKuma
      # AUTOKUMA__TAG_COLOR: "#42C0FB"
      # AUTOKUMA__DEFAULT_SETTINGS: |- 
      #    docker.docker_container: {{container_name}}
      #    http.max_redirects: 10
      #    *.max_retries: 3
      # AUTOKUMA__SNIPPETS__WEB: |- 
      #    {{container_name}}_http.http.name: {{container_name}} HTTP
      #    {{container_name}}_http.http.url: https://{{ args[0] }}:{{ args[1] }}
      #    {{container_name}}_docker.docker.name: {{container_name}} Docker
      #    {{container_name}}_docker.docker.docker_container: {{container_name}}
      # AUTOKUMA__DOCKER__HOSTS: unix:///var/run/docker.sock
      # AUTOKUMA__DOCKER__HOSTS: '[{"url":"tcp://docker-a:2376","tls_verify":true,"tls_cert_path":"/certs/docker-a"}]'
      # AUTOKUMA__DOCKER__LABEL_PREFIX: kuma
      # AUTOKUMA__DOCKER__EXCLUDE_CONTAINER_PATTERNS: "^[a-f0-9]{12}_.*_"  # Exclude Docker Compose temporary containers
      
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - autokuma-data:/data

volumes:
  autokuma-data:

Configuration 🔧

AutoKuma can be configured using the following environment variables/config keys:

| Env Variable | Config Key | Description | |------------------------------------|-------------------------|--------------------------------------------------------------------------------------------------------------------------| | AUTOKUMA__STATIC_MONITORS | static_monitors | The path to the folder in which AutoKuma will search for static Monitor definitions | | AUTOKUMA__TAG_NAME | tag_name | The name of the AutoKuma tag, used to track managed containers | | AUTOKUMA__TAG_COLOR | tag_color | The color of the AutoKuma tag | | AUTOKUMA__DEFAULT_SETTINGS | default_settings | Default settings applied to all generated Monitors, see the example above for the syntax | | AUTOKUMA__LOG_DIR | log_dir | Path to a directory where log files will be stored | | AUTOKUMA__ON_DELETE | on_delete | Specify what should happen to a monitor if the autokuma id is not found anymore, either delete or keep | | AUTOKUMA__DELETE_GRACE_PERIOD | delete_grace_period | How long to wait in seconds before deleting the entity if the autokuma is not not found anymore | | AUTOKUMA__INSECURE_ENV_ACCESS | insecure_env_access | Allow access to all env variables in templates, by default only variables starting with AUTOKUMA__ENV__ can be accessed. | | AUTOKUMA__SNIPPETS__<SNIPPET> | snippets.<snippet> | Define a snippet named <snippet>, see Snippets for details | | AUTOKUMA__KUMA__URL | kuma.url | The URL AutoKuma should use to connect to Uptime Kuma | | AUTOKUMA__KUMA__USERNAME | kuma.username | The username for logging into Uptime Kuma (required unless auth is disabled) | | AUTOKUMA__KUMA__PASSWORD | kuma.password | The password for logging into Uptime Kuma (required unless auth is disabled) | | AUTOKUMA__KUMA__MFA_TOKEN | kuma.mfa_token | The MFA token for logging into Uptime Kuma (required if MFA is enabled) | | AUTOKUMA__KUMA__MFA_SECRET | kuma.mfa_secret | The MFA secret. Used to generate a tokens for logging into Uptime Kuma (alternative to a single_use mfa_token) | | AUTOKUMA__KUMA__AUTH_TOKEN | kuma.auth_token | JWT auth token received after a successful login, can be used instead of username/password | | AUTOKUMA__KUMA__HEADERS | kuma.headers | List of HTTP headers to send when connecting to Uptime Kuma | | AUTOKUMA__KUMA__CONNECT_TIMEOUT | kuma.connect_timeout | The timeout for the initial connection to Uptime Kuma | | `

View on GitHub
GitHub Stars772
CategoryDevelopment
Updated14h ago
Forks36

Languages

Rust

Security Score

100/100

Audited on Mar 21, 2026

No findings