diff --git a/README.md b/README.md index 14fb085..b45bab6 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,17 @@ Currently-supported Gitlab event types: * Merge request events * Pipeline events (only publishes on failure for now) +It can also watch for new messages in a mailing list (assuming that +mailing list is tracked by [The Mail +Archive](https://mail-archive.com/)), and publish notifications of new +messages to Matrix. + ## Building Bebot is written in Rust, and requires a Rust toolchain in order to -build. The usual `cargo build` or `cargo build --release` will do the -trick. +build. I'm actually not sure what Bebot's MSRV is, but as of this +writing, 1.72 worked. The usual `cargo build` or `cargo build +--release` will do the trick. You can also build and install the latest released version of Bebot by running `cargo install bebot`. @@ -26,6 +32,8 @@ Bebot requires a configuration file in YAML format. See `sample-config.yaml` for all existing configuration options, as well as documentation on what each option does. +### Gitlab Hooks + When setting up the webhook in Gitlab, use the same `token` from the configuration file in the webhook's "Secret token" field. You should only select "Push events", "Tag push events", "Issues events", "Merge @@ -42,6 +50,18 @@ output to stdout a YAML snippet that goes under the `repo_configs` section of the configuration file. If you run the script with no arguments, it will print out usage details. +### `mail-archive.com` + +If you want Bebot to publish a Matrix message when a new email hits one +of your configured mailing lists, you need to provide a directory for +Bebot to store state, so it can keep track of what emails it has already +sent a Matrix message for. Otherwise, it will re-publish messages every +time you restart Bebot. + +Remember that if you are running Bebot in a Docker container, you'll +need to mount a volume to store state so it persists across container +restarts and upgrades. + ## Running After you've done all that, simply run Bebot: @@ -57,7 +77,18 @@ logging verbosity. (Try `debug`, `info`, `warn` `error`, or `off`.) A `Dockerfile` is also provided. When running the container it builds, mount the configuration file so it appears inside the container as -`/bebot/config/bebot.yaml`. +`/bebot/config/bebot.yaml`. If you are publishing from +`mail-archive.com`, also remember to mount a state storage directory or +volume wherever you've specified in the configuration file. Release images are [published to Docker Hub](https://hub.docker.com/r/kelnos/bebot). + +## Contributing + +I currently host Bebot on my [private Gitea +server](https://git.spurint.org/brian/bebot). Since I don't want to +deal with spam, I don't enable user registrations. If you'd like to +submit issues and/or merge requests, please [message me on +Matrix](https://matrix.to/#/@brian:tarricone.org) with your email +address and preferred username, and I'll create an account for you.