{"id":15043722,"url":"https://github.com/bigboot/autokuma","last_synced_at":"2025-05-14T21:10:52.664Z","repository":{"id":215702281,"uuid":"739512592","full_name":"BigBoot/AutoKuma","owner":"BigBoot","description":"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.","archived":false,"fork":false,"pushed_at":"2025-05-09T14:44:17.000Z","size":367,"stargazers_count":458,"open_issues_count":25,"forks_count":19,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-09T15:23:48.591Z","etag":null,"topics":["docker","monitor","monitoring","selfhosted","socket-io","uptime","uptime-kuma","uptime-monitoring","websocket"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BigBoot.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-05T18:40:50.000Z","updated_at":"2025-05-09T14:43:37.000Z","dependencies_parsed_at":"2024-02-27T23:25:27.128Z","dependency_job_id":"95715390-95a0-4a70-8929-5775e8f124fd","html_url":"https://github.com/BigBoot/AutoKuma","commit_stats":{"total_commits":127,"total_committers":4,"mean_commits":31.75,"dds":0.03149606299212604,"last_synced_commit":"10686098d54833930a13edfaee60f94bfef49d66"},"previous_names":["bigboot/autokuma"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBoot%2FAutoKuma","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBoot%2FAutoKuma/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBoot%2FAutoKuma/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BigBoot%2FAutoKuma/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BigBoot","download_url":"https://codeload.github.com/BigBoot/AutoKuma/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254227631,"owners_count":22035671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","monitor","monitoring","selfhosted","socket-io","uptime","uptime-kuma","uptime-monitoring","websocket"],"created_at":"2024-09-24T20:49:29.912Z","updated_at":"2025-05-14T21:10:52.646Z","avatar_url":"https://github.com/BigBoot.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" width=\"100%\"\u003e\n    \u003cimg src=\"./logo.svg\" height=\"196\" alt=\"\" /\u003e\n\u003c/div\u003e\n\n#### [](HEADER)\n\n\u003cdiv align=\"center\" width=\"100%\"\u003e\n    \u003cp\u003e\n        \u003ca href=\"https://github.com/BigBoot/AutoKuma/actions\"\u003e\u003cimg alt=\"GitHub Actions Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/BigBoot/AutoKuma/docker-build-push.yml?style=flat\u0026logo=rust\u0026link=https%3A%2F%2Fgithub.com%2FBigBoot%2FAutoKuma%2Factions\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/BigBoot/AutoKuma/releases/latest\"\u003e\u003cimg alt=\"GitHub Tag\" src=\"https://img.shields.io/github/v/tag/BigBoot/AutoKuma?logo=github\u0026label=latest\"\u003e\u003c/a\u003e\n        \u003ca href=\"https://ghcr.io/bigboot/autokuma\"\u003e\u003cimg alt=\"GHCR Tag\" src=\"https://img.shields.io/github/v/tag/BigBoot/AutoKuma?logo=docker\u0026logoColor=white\u0026label=GHCR\"\u003e\u003c/a\u003e\n    \u003c/p\u003e\n    \u003cp\u003e\n        \u003cb\u003e\n            \u003ca href=\"#autokuma--\"\u003eAutoKuma\u003c/a\u003e\n            \u0026nbsp\u0026nbsp\n            \u003ca href=\"#kuma-cli---\"\u003eKuma CLI\u003c/a\u003e \n            \u0026nbsp\u0026nbsp\n            \u003ca href=\"#kuma-client--\"\u003eKuma Client\u003c/a\u003e \n        \u003c/b\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n\n# AutoKuma 🐻 \u003ca href=\"https://crates.io/crates/autokuma\"\u003e\u003cimg alt=\"Crates.io Version\" src=\"https://img.shields.io/crates/v/autokuma?logo=rust\u0026color=blue\"\u003e\u003c/a\u003e\n\nAutoKuma 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.\n\n\n\n## Supported sources\nAutoKuma 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:\n\n| Source       | Description                                                                                                                                                                 | Support |\n|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|\n| Docker       | Monitors are sourced from container labels                                                                                                                                  | ✅       |\n| Files        | Monitors are sourced from .json/.toml files                                                                                                                                 | ✅       |\n| Docker Swarm | Monitors can be sourced from service and/or container labels                                                                                                                | ⚠️*     |\n| 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 | ⚠️*     |\n\n*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).\n\n\n## How to Install 📦\n\n### Supported Platforms \n| Platform | Architecture | Docker Images | Prebuild Binaries | Notes                  |\n|----------|--------------|---------------|-------------------|------------------------|\n| Windows  | x64          | ⛔︎            | ✅                 |                        |\n| Windows  | arm64        | ⛔︎            | ⛔︎                |                        |\n| Linux    | x64          | ✅             | ✅*                | CLI Snaps Experimental |\n| Linux    | arm64        | ⚠️*           | ⛔︎                | Experimental           |\n| Mac      | x64          | ⛔︎            | ⛔︎                |                        |\n| Mac      | arm64        | ⛔︎            | ⚠️*               | Experimental           |\n\n\nBinaries for windows linux and mac are provided for [GitHub Releases](https://github.com/BigBoot/AutoKuma/releases/latest), additionally AutoKuma is available as a Docker container on [GitHub Container Registry (GHCR)](https://github.com/BigBoot/AutoKuma/pkgs/container/autokuma). To install, simply pull the container using:\n\nLatest Release:\n\n```bash\ndocker pull ghcr.io/bigboot/autokuma:latest\n```\n\nDev Version:\n\n```bash\ndocker pull ghcr.io/bigboot/autokuma:master\n```\n\n\n❗ The dev version might break or contain breaking changes without warning, usage on a production system is not adviced.\n\n### Example Docker Compose 🚀\n\nHere's an example `docker-compose.yml`:\n\n```yaml\nversion: '3'\n\nservices:\n  autokuma:\n    image: ghcr.io/bigboot/autokuma:latest\n    restart: unless-stopped\n    environment:\n      AUTOKUMA__KUMA__URL: http://localhost:3001\n      # AUTOKUMA__KUMA__USERNAME: \u003cusername\u003e \n      # AUTOKUMA__KUMA__PASSWORD: \u003cpassword\u003e\n      # AUTOKUMA__KUMA__MFA_TOKEN: \u003ctoken\u003e\n      # AUTOKUMA__KUMA__HEADERS: \"\u003cheader1_key\u003e=\u003cheader1_value\u003e,\u003cheader2_key\u003e=\u003cheader2_value\u003e,...\"\n      # AUTOKUMA__KUMA__CALL_TIMEOUT: 5\n      # AUTOKUMA__KUMA__CONNECT_TIMEOUT: 5\n      # AUTOKUMA__TAG_NAME: AutoKuma\n      # AUTOKUMA__TAG_COLOR: \"#42C0FB\"\n      # AUTOKUMA__DEFAULT_SETTINGS: |- \n      #    docker.docker_container: {{container_name}}\n      #    http.max_redirects: 10\n      #    *.max_retries: 3\n      # AUTOKUMA__SNIPPETS__WEB: |- \n      #    {{container_name}}_http.http.name: {{container_name}} HTTP\n      #    {{container_name}}_http.http.url: https://{{@0}}:{{@1}}\n      #    {{container_name}}_docker.docker.name: {{container_name}} Docker\n      #    {{container_name}}_docker.docker.docker_container: {{container_name}}\n      # AUTOKUMA__DOCKER__HOSTS: unix:///var/run/docker.sock\n      # AUTOKUMA__DOCKER__LABEL_PREFIX: kuma\n      \n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n      - autokuma-data:/data\n\nvolumes:\n  autokuma-data:\n```\n\n## Configuration 🔧\n\nAutoKuma can be configured using the following environment variables/config keys:\n\n| Env Variable                       | Config Key              | Description                                                                                                              |\n|------------------------------------|-------------------------|--------------------------------------------------------------------------------------------------------------------------|\n| `AUTOKUMA__STATIC_MONITORS`        | `static_monitors`       | The path to the folder in which AutoKuma will search for static Monitor definitions                                      |\n| `AUTOKUMA__TAG_NAME`               | `tag_name`              | The name of the AutoKuma tag, used to track managed containers                                                           |\n| `AUTOKUMA__TAG_COLOR`              | `tag_color`             | The color of the AutoKuma tag                                                                                            |\n| `AUTOKUMA__DEFAULT_SETTINGS`       | `default_settings`      | Default settings applied to all generated Monitors, see the example above for the syntax                                 |\n| `AUTOKUMA__LOG_DIR`                | `log_dir`               | Path to a directory where log files will be stored                                                                       |\n| `AUTOKUMA__ON_DELETE`              | `on_delete`             | Specify what should happen to a monitor if the autokuma id is not found anymore, either `delete` or `keep`               |\n| `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                          |\n| `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. |\n| `AUTOKUMA__SNIPPETS__\u003cSNIPPET\u003e`    | `snippets.\u003csnippet\u003e`    | Define a snippet named `\u003csnippet\u003e`, see [Snippets](#snippets) for details                                                |\n| `AUTOKUMA__KUMA__URL`              | `kuma.url`              | The URL AutoKuma should use to connect to Uptime Kuma                                                                    |\n| `AUTOKUMA__KUMA__USERNAME`         | `kuma.username`         | The username for logging into Uptime Kuma (required unless auth is disabled)                                             |\n| `AUTOKUMA__KUMA__PASSWORD`         | `kuma.password`         | The password for logging into Uptime Kuma (required unless auth is disabled)                                             |\n| `AUTOKUMA__KUMA__MFA_TOKEN`        | `kuma.mfa_token`        | The MFA token for logging into Uptime Kuma (required if MFA is enabled)                                                  |\n| `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)           |\n| `AUTOKUMA__KUMA__HEADERS`          | `kuma.headers`          | List of HTTP headers to send when connecting to Uptime Kuma                                                              |\n| `AUTOKUMA__KUMA__CONNECT_TIMEOUT`  | `kuma.connect_timeout`  | The timeout for the initial connection to Uptime Kuma                                                                    |\n| `AUTOKUMA__KUMA__CALL_TIMEOUT`     | `kuma.call_timeout`     | The timeout for executing calls to the Uptime Kuma server                                                                |\n| `AUTOKUMA__DOCKER__HOSTS`          | `docker.hosts`          | List of Docker hosts.  Use a semicolon separated string when setting using an env variable.                              |\n| `AUTOKUMA__DOCKER__LABEL_PREFIX`   | `docker.label_prefix`   | Prefix used when scanning for container labels                                                                           |\n| `AUTOKUMA__DOCKER__SOURCE`         | `docker.source`         | Whether monitors should be created from `Containers` or `Services` labels (or `Both`).                                   |\n| `AUTOKUMA__DOCKER__TLS__VERIFY`    | `docker.tls.verify`     | Whether to verify the TLS certificate or not.                                                                            |\n| `AUTOKUMA__DOCKER__TLS__CERT`      | `docker.tls.cert`       | The path to a custom tls certificate in PEM format.                                                                      |\n| `AUTOKUMA__FILES__FOLLOW_SYMLINKS` | `files.follow_symlinks` | Whether AutoKuma should follow symlinks when looking for \"static monitors\" (Defaults to false)                           |\n\nAutoKuma will read configuration from a file named `autokuma.{toml,yaml,json}` in the current directory and in the following locations:\n\n| Platform | Value                                                                | Example                                                       |\n|----------|----------------------------------------------------------------------|---------------------------------------------------------------|\n| Linux    | `$XDG_CONFIG_HOME`/autokuma/config.{toml,yaml,json}                  | /home/alice/.config/autokuma/config.toml                      |\n| macOS    | `$HOME`/Library/Application Support/autokuma/config.{toml,yaml,json} | /Users/Alice/Library/Application Support/autokuma/config.toml |\n| Windows  | `%LocalAppData%`\\autokuma\\config.{toml,yaml,json}                    | C:\\Users\\Alice\\AppData\\Local\\autokuma\\config.toml             |\n\nAn example `.toml` config could look like the following:\n```toml\n[kuma]\nurl = \"http://localhost:3001/\"\nusername = \"\u003cusername\u003e\"\npassword = \"\u003cpassword\u003e\"\n```\n\n\n## Usage 💡\n\nAutoKuma interprets Docker container labels with the following format:\n\n```plaintext\n\u003cprefix\u003e.\u003cid\u003e.\u003ctype\u003e.\u003csetting\u003e: \u003cvalue\u003e\n```\n\n- `\u003cprefix\u003e`: Default is `kuma` unless changed using the `DOCKER__LABEL_PREFIX` env variable.\n- `\u003cid\u003e`: A unique identifier for the monitor (ensure it's unique between all monitors).\n- `\u003ctype\u003e`: The type of the monitor as configured in Uptime Kuma.\n- `\u003csetting\u003e`: The key of the value to be set.\n- `\u003cvalue\u003e`: The value for the option.\n\nLabels are grouped by `\u003cid\u003e` into a single monitor. For example, to create a simple HTTP monitor, use the following labels:\n\n```plaintext\nkuma.example.http.name: \"Example\"\nkuma.example.http.url: \"https://example.com\"\n```\n\nTake a look at [all available entity types](ENTITY_TYPES.md) and their corresponding settings.\n\n### Groups\nTo assign a monitor to a group set it's parent_name property to the autokuma id of the group, e.g.\n\n```yaml\nkuma.mygroup.group.name: 'This is a Group'\n\nkuma.mymonitor.http.name: 'This is a Monitor assigned to a Group'\nkuma.mymonitor.http.parent_name: 'mygroup'\nkuma.mymonitor.http.url: 'https://example.com'\n```\n\n### Notifications\n**_WARNING:_** Defining Notifications is currently experimental and might change in the future.\n```yaml\nkuma.mynotificationprovider.notification.name: 'This is a Matrix notification provider'\nkuma.mynotificationprovider.notification.active: 'true'\nkuma.mynotificationprovider.notification.config: '{\"type\": \"matrix\", \"accessToken\": \"XXXXXXXXXXXXXXXXXX\", \"homeserverUrl\": \"https://matrix.org\", \"internalRoomId\": \"!xxxxxxxxxxxxxxxxxx:matrix.org\"}'\n\nkuma.mymonitor.http.name: 'This is a Monitor with a notification provider'\nkuma.mymonitor.http.notification_names: '[\"mynotificationprovider\"]'\nkuma.mymonitor.http.url: 'https://example.com'\n```\n\n\n### Docker Hosts\n**_WARNING:_** Defining Docker Hosts is currently experimental and might change in the future.\n```yaml\nkuma.mydocker.docker_host.name: 'My Docker Host'\nkuma.mydocker.docker_host.connection_type: 'socket'\nkuma.mydocker.docker_host.path: '/var/run/docker.sock'\n\nkuma.mymonitor.http.name: 'This is a Docker Monitor'\nkuma.mymonitor.http.docker_host_name: 'mydocker'\nkuma.mymonitor.http.url: 'https://example.com'\n```\n\n\n### Tags\n**_WARNING:_** Defining Tags is currently experimental and might change in the future.\n```yaml\nkuma.mytag.tag.name: 'A purple label'\nkuma.mytag.tag.color: '#FF00FF'\n\nkuma.mymonitor.http.name: 'This is a Monitor with a label'\nkuma.mymonitor.http.tag_names: '[{\"name\": \"mytag\", \"value\": \"A value (this is optional)\" }]'\nkuma.mymonitor.http.url: 'https://example.com'\n```\n\n### Templating\nAutoKuma allows the usage of [Tera](https://keats.github.io/tera/) templates in labels and [Snippets](#snippets), the following variables are available:\n|                | Template         | Description                             | Example Value                                                                                                                                        |\n|----------------|------------------|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **Containers** |                  |                                         |                                                                                                                                                      |\n|                | `container_id`   | The container id                        | 92366941fb1f211c573c56d261f3b3e5302f354941f2aa295ae56d5781e97221                                                                                     |\n|                | `image_id`       | Sha256 of the container image           | sha256:c2e38600b252f147de1df1a5ca7964f9c8e8bace97111e56471a4a431639287a                                                                              |\n|                | `image`          | Name of the container image             | ghcr.io/immich-app/immich-server:release                                                                                                             |\n|                | `container_name` | Name of the container                   | immich-immich-1                                                                                                                                      |\n|                | `container`      | Nested structure with container details | See the [Docker Engine Documentation](https://docs.docker.com/engine/api/v1.45/#tag/Container/operation/ContainerList) for the available data        |\n|                | `system_info`    | Nested structure with host details      | See the [Docker Engine Documentation](https://docs.docker.com/reference/api/engine/v1.45/#tag/System/operation/SystemInfo) for the available data    |\n| **Services**   |                  |                                         |                                                                                                                                                      |\n|                | `service`        | Nested structure with service details   | See the [Docker Engine Documentation](https://docs.docker.com/reference/api/engine/v1.45/#tag/System/operation/ContainerList) for the available data |\n|                | `system_info`    | Nested structure with host details      | See the [Docker Engine Documentation](https://docs.docker.com/reference/api/engine/v1.45/#tag/System/operation/SystemInfo) for the available data    |\n\n### Snippets 📝\nAutoKuma provides the ability to define reusable snippets. Snippets need to be defined in the configuration, for example, using environment variables:\n\n```yaml\nAUTOKUMA__SNIPPETS__WEB: |-\n    {{ container_name }}_http.http.name: {{ container_name }} HTTP\n    {{ container_name }}_http.http.url: https://{{ args[0] }}:{{ args[1] }}\n    {{ container_name }}_docker.docker.name: {{ container_name }} Docker\n    {{ container_name }}_docker.docker.docker_container: {{ container_name }}\n```\n\nor in an equivalent TOML config file:\n\n```toml\n[snippets]\nweb = '''\n    {{ container_name }}_http.http.name: {{ container_name }}\n    {{ container_name }}_http.http.url: https://{{ args[0] }}:{{ args[1] }}\n    {{ container_name }}_docker.docker.name: {{ container_name }}_docker\n    {{ container_name }}_docker.docker.docker_name: {{ container_name }}\n'''\n```\n\nThese define a snippet called `web`. \n\nA snippet can have a variable number of arguments, which are available as replacements using `{{ args[0] }}`, `{{ args[1] }}`, `{{ args[2] }}`, etc., as seen above.\n\nTo use a snippet on a container, assign a label in the format:\n\n```plaintext\n\u003cprefix\u003e.__\u003csnippet\u003e: \u003carguments\u003e\n```\n\nFor example, the above snippet could be included using the following label:\n\n```plaintext\nkuma.__web: '\"example.com\", 443'\n```\n\nSnippets also use [Tera](https://keats.github.io/tera/), which allows for some quite advanced templates, here's a extended variation of the above example:\n```jinja\n{# Assign the first snippet arg to args to make access easier #}\n{% set args = args[0] %}\n\n{# Generate an autokuma id by slugifying the \"name\" arg #}\n{% set id = args.name | slugify %}\n\n{# if we have a \"keyword\" generate a \"keyword\" monitor, otherwise generate a \"http\" monitor #}\n{% if args.keyword %}\n    {% set type = \"keyword\" %}\n{% else %}\n    {% set type = \"http\" %}\n{% endif %}\n\n\n{# below are the actual lines which end up defining the monitor #}\n{{ id }}-group.group.name: {{ args.name }}\n{{ id }}-http.{{ type }}.name: {{ args.name }} (HTTP)\n{{ id }}-http.{{ type }}.parent_name: {{ id }}-group\n{{ id }}-http.{{ type }}.url: {{ args.url }}\n{% if args.keyword %}\n    {{ id }}-http.{{ type }}.keyword: {{ args.keyword }}\n{% endif %}\n{% if args.status_code %}\n    {{ id }}-http.{{ type }}.status_code: {{ args.status_code }}\n{% endif %}\n{{ id }}-http-container.docker.name: {{ args.name }} (Container)\n{{ id }}-http-container.docker.parent_name: {{ id }}-group\n```\n\nAnd the usage of it would be like the following:\nJust a basic http monitor:  \n```yaml\nkuma.__web: '{ \"name\": \"Example HTTP\", \"url\": \"https://example.com\" }'\n```\n\nKeyword monitor with custom status_codes:\n```yaml\nkuma.__web: '{ \"name\": \"Example HTTP\", \"url\": \"https://example.com\", \"keyword\": \"Example Domain\", \"status_codes\": [\"200\"] }'\n```\n\n#### !Snippets\nThere's a special case for snippets starting with a `!`, these snippets will apply to labels without requiring the prefix (i.e. `kuma.__`). The purpose of these is to be able to reuse existing labels from other tools. (Note: Due to this !Snippets will always receive a single string argument containing the label value instead of a structured list). \n\nFor example you could create a snippet to reuse traefik labels by defining a snippet called `!traefik.enable`:\n```jinja\n{# Only apply if value is \"true\" #}\n{% if args[0] == \"true\" %}\n    {# Extract some information from existing labels, note that this will likely not fit your setup and you will need to adjust this to get the required data #}\n    {% set traefik_service = container_name %}\n    {% set domain = container_name + \".example.com\" %}\n    {% set port = container[\"Labels\"][\"traefik.http.services.\" + traefik_service + \".loadbalancer.server.port\"] %}\n\n    {{ container_name }}_http.http.name: {{ container_name }}\n    {{ container_name }}_http.http.url: https://{{ domain }}:{{ port }}\n{% endif %}\n```\n\n\n### Static Monitors 📊\nIn addition to reading Monitors from Docker labels, AutoKuma can create Monitors from files. This can be usefull if you have want AutoKuma to manage monitors which aren't directly related to a container.\n\nTo create static Monitors just add a .json or .toml file in the directory specified by `AUTOKUMA__STATIC_MONITORS`, take a look at [the examples here](monitors).\n\nThe default directory for static monitors is:\n\n| Platform | Value                                                         | Example                                                            |\n|----------|---------------------------------------------------------------|--------------------------------------------------------------------|\n| Linux    | `$XDG_CONFIG_HOME`/autokuma/static-monitors/                  | /home/alice/.config/autokuma/static-monitors/                      |\n| macOS    | `$HOME`/Library/Application Support/autokuma/static-monitors/ | /Users/Alice/Library/Application Support/autokuma/static-monitors/ |\n| Windows  | `%LocalAppData%`\\autokuma\\static-monitors\\                    | C:\\Users\\Alice\\AppData\\Local\\autokuma\\static-monitors\\             |\n\nIn case of static Monitors the id is determined by the filename (without the extension).\n\n\n# Kuma CLI 🤖 \u003ca href=\"https://crates.io/crates/kuma-cli\"\u003e\u003cimg alt=\"Crates.io Version\" src=\"https://img.shields.io/crates/v/kuma-cli?logo=rust\u0026color=blue\"\u003e\u003c/a\u003e [![kuma](https://snapcraft.io/kuma/badge.svg)](https://snapcraft.io/kuma)\n\nKuma CLI is a Command Line Interface (CLI) tool for managing and interacting with [Uptime Kuma](https://uptime.kuma.pet/). With Kuma CLI you can easily configure, monitor and manage your applications from the command line.\n\n## Features 🎯\n- [x] Commands: `kuma monitor`\n    - [x] `add`\n    - [x] `delete`\n    - [x] `edit`\n    - [x] `list`\n    - [x] `get`\n    - [x] `pause`\n    - [x] `resume`\n- [x] Commands : `kuma tag`\n    - [x] `add`\n    - [x] `delete`\n    - [x] `edit`\n    - [x] `ls`\n    - [x] `get`\n- [x] Commands : `kuma notification`\n    - [x] `add`\n    - [x] `delete`\n    - [x] `edit`\n    - [x] `ls`\n    - [x] `get`\n- [x] Commands : `kuma maintenance`\n    - [x] `add`\n    - [x] `delete`\n    - [x] `edit`\n    - [x] `ls`\n    - [x] `get`\n    - [x] `pause`\n    - [x] `resume`\n- [x] Commands : `kuma status-page`\n    - [x] `add`\n    - [x] `delete`\n    - [x] `edit`\n    - [x] `ls`\n    - [x] `get`\n- [x] Commands : `kuma docker-host`\n    - [x] `add`\n    - [x] `delete`\n    - [x] `edit`\n    - [x] `ls`\n    - [x] `get`\n    - [x] `test`\n\n## How to Install 📦\n\nBinaries for Windows, Linux and Mac OS are provided for [GitHub Releases](https://github.com/BigBoot/AutoKuma/releases/latest) and additionally Kuma CLI can be installed using `cargo`:\n\n```bash\ncargo install --git https://github.com/BigBoot/AutoKuma.git kuma-cli\n```\n\n## Usage 💡\n\n```bash\nUsage: kuma [OPTIONS] [COMMAND]\n\nCommands:\n  monitor       Manage Monitors\n  notification  Manage Notifications\n  tag           Manage Tags\n  maintenanc    Manage Maintenances\n  help          Print this message or the help of the given subcommand(s)\n\nOptions:\n      --url \u003cURL\u003e\n          The URL AutoKuma should use to connect to Uptime Kuma\n      --username \u003cUSERNAME\u003e\n          The username for logging into Uptime Kuma (required unless auth is disabled)\n      --password \u003cPASSWORD\u003e\n          The password for logging into Uptime Kuma (required unless auth is disabled)\n      --mfa-token \u003cMFA_TOKEN\u003e\n          The MFA token for logging into Uptime Kuma (required if MFA is enabled)\n      --header \u003cKEY=VALUE\u003e\n          Add a HTTP header when connecting to Uptime Kuma\n      --connect-timeout \u003cCONNECT_TIMEOUT\u003e\n          The timeout for the initial connection to Uptime Kuma [default: 30.0]\n      --call-timeout \u003cCALL_TIMEOUT\u003e\n          The timeout for executing calls to the Uptime Kuma server [default: 30.0]\n      --format \u003cOUTPUT_FORMAT\u003e\n          The output format [default: json] [possible values: json, toml, yaml]\n      --pretty\n          Whether the output should be pretty printed or condensed\n  -h, --help\n          Print help\n  -V, --version\n          Print version\n```\n\n\n## Configuration 🔧\n\nAll configuration options can also be specified as environment variables:\n```\nKUMA__URL=\"http://localhost:3001/\"\nKUMA__USERNAME=\"\u003cusername\u003e\"\nKUMA__PASSWORD=\"\u003cpassword\u003e\"\n...\n```\n\nAdditionally Kuma CLI will read configuration from a file named `kuma.{toml,yaml,json}` in the current directory and in the following locations:\n| Platform | Value                                                            | Example                                                   |\n|----------|------------------------------------------------------------------|-----------------------------------------------------------|\n| Linux    | `$XDG_CONFIG_HOME`/kuma/config.{toml,yaml,json}                  | /home/alice/.config/kuma/config.toml                      |\n| macOS    | `$HOME`/Library/Application Support/kuma/config.{toml,yaml,json} | /Users/Alice/Library/Application Support/kuma/config.toml |\n| Windows  | `%LocalAppData%`\\kuma\\config.{toml,yaml,json}                    | C:\\Users\\Alice\\AppData\\Local\\kuma\\config.toml             |\n\nAn example `.toml` config could look like the following:\n```toml\nurl = \"http://localhost:3001/\"\nusername = \"\u003cusername\u003e\"\npassword = \"\u003cpassword\u003e\"\n```\n\n# Kuma Client 🧑‍💻 \u003ca href=\"https://crates.io/crates/kuma-client\"\u003e\u003cimg alt=\"Crates.io Version\" src=\"https://img.shields.io/crates/v/kuma-client?logo=rust\u0026color=blue\"\u003e\u003c/a\u003e\n\n`kuma-client` is a Rust crate that provides a client library for interacting with the Uptime Kuma SocketIO API.\n\nPlease take a look at [the examples](kuma-client/examples/) and the [documentation](https://docs.rs/kuma-client/latest/kuma_client/) for further details.\n\n# Contributing 👥\n\nContributions to AutoKuma are welcome! Feel free to open issues, submit pull requests, or provide feedback.\n\n# License 📜\n\nAutoKuma is released under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigboot%2Fautokuma","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigboot%2Fautokuma","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigboot%2Fautokuma/lists"}