# [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] ([Codeberg image mirror]) with [docker compose file].
`ntfy-alertmanager:latest` is built from the latest tagged release while
`ntfy-alertmanager:dev` is built from the master branch.
On Arch Linux you can install the [aur package] as well.

## 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] and there is an [example configuration file] in this repo.
Furthermore you can take a look at [my deployment].

ntfy-alertmanager has support for setting ntfy [priority], [tags], [icon], [action buttons]
(which can be used to e.g. create an Alertmanager silence or open the alert's Prometheus URL), [email notifications] and [phone calls].
Define a decreasing order of labels in the config file and map those labels to tags, priority, an icon, an email address or an alternative ntfy topic.

- For priority and icon the first found value will be chosen. Settings for "resolved" alerts will take precedence.
- Tags are added together.

### 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], send patches/ask questions on the [mailing list]
or write to me directly on matrix [@xenrox:xenrox.net].
There is a [mirror on Codeberg] as well, where you can create issues or open pull requests.

[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
[icon]: https://docs.ntfy.sh/publish/#icons
[action buttons]: https://docs.ntfy.sh/publish/#action-buttons
[email notifications]: https://docs.ntfy.sh/publish/#e-mail-notifications
[phone calls]: https://ntfy.xenrox.net/docs/publish/#phone-calls
[issue tracker]: https://todo.xenrox.net/~xenrox/ntfy-alertmanager
[mailing list]: https://lists.xenrox.net/~xenrox/public-inbox
[@xenrox:xenrox.net]: https://matrix.to/#/@xenrox:xenrox.net
[docker image]: https://hub.docker.com/r/xenrox/ntfy-alertmanager
[Codeberg image mirror]: https://codeberg.org/xenrox/-/packages/container/ntfy-alertmanager
[docker compose file]: https://git.xenrox.net/~xenrox/ntfy-alertmanager/tree/master/item/docker/compose.yaml
[example configuration file]: https://git.xenrox.net/~xenrox/ntfy-alertmanager/tree/master/item/config.scfg
[my deployment]: https://git.xenrox.net/~xenrox/ansible/tree/master/item/roles/alertmanager/templates/ntfy-alertmanager.j2
[aur package]: https://aur.archlinux.org/packages/ntfy-alertmanager
[mirror on Codeberg]: https://codeberg.org/xenrox/ntfy-alertmanager