# [ntfy-alertmanager] [![builds.sr.ht status](https://builds.xenrox.net/~xenrox/ntfy-alertmanager/commits/master.svg)](https://builds.xenrox.net/~xenrox/ntfy-alertmanager/commits/master?) A bridge between ntfy and Alertmanager. ## Installation Simply use go build or the [docker image] with [docker-compose file]. `ntfy-alertmanager:latest` is built from the latest tagged release while `ntfy-alertmanager:dev` is built from the master branch. ## Configuration You can specify the configuration file location with the `--config` flag. By default the configuration file will be read from `/etc/ntfy-alertmanager/config`. The format of this file is [scfg]. ntfy-alertmanager has support for setting ntfy [priority] and [tags]. Define a decreasing order of labels in the config file and map those labels to tags or priority. - For priority the first found value will be chosen. - Tags are added together. Example: ``` # Public facing base URL of the service (e.g. https://ntfy-alertmanager.xenrox.net) # This setting is required for the "Silence" feature. base-url https://ntfy-alertmanager.xenrox.net # http listen address http-address :8080 # Log level (either debug, info, warning, error) log-level info # When multiple alerts are grouped together by Alertmanager, they can either be sent # each on their own (single mode) or be kept together (multi mode) (either single or multi; default is single) alert-mode single # Optionally protect with HTTP basic authentication user webhookUser password webhookPass labels { order "severity,instance" severity "critical" { priority 5 tags "rotating_light" } severity "info" { priority 1 } instance "example.com" { tags "computer,example" } } ntfy { # URL of the ntfy topic - required topic https://ntfy.sh/alertmanager-alerts # ntfy access control (https://ntfy.sh/docs/config/#access-control) user user password pass } alertmanager { # If set, the ntfy message will contain a "Silence" button, which can be used # to create a silence via the Alertmanager API. Because of limitations in ntfy, # the request will be proxied through ntfy-alertmanager. Therefore ntfy-alertmanager # needs to be exposed to external network requests and base-url has to be set. silence-duration 24h } # When the alert-mode is set to single, ntfy-alertmanager will cache each single alert # to avoid sending recurrences. cache { # How long messages stay in the cache for duration 24h # Interval in which the cache is cleaned up cleanup-interval 1h } ``` ### Alertmanager config ```yaml receivers: - name: "ntfy" webhook_configs: - url: "http://127.0.0.1:8080" http_config: basic_auth: username: "webhookUser" password: "webhookPass" ``` ## Contributing Report bugs on the [issue tracker]. [ntfy-alertmanager]: https://hub.xenrox.net/~xenrox/ntfy-alertmanager/ [scfg]: https://git.sr.ht/~emersion/scfg [priority]: https://ntfy.sh/docs/publish/#message-priority [tags]: https://ntfy.sh/docs/publish/#tags-emojis [issue tracker]: https://todo.xenrox.net/~xenrox/ntfy-alertmanager [docker image]: https://hub.docker.com/r/xenrox/ntfy-alertmanager [docker-compose file]: https://git.xenrox.net/~xenrox/ntfy-alertmanager/tree/master/item/docker/docker-compose.yml