This commit is contained in:
37
README.md
37
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.
|
||||
|
Reference in New Issue
Block a user