Update README
Some checks failed
CI / CI (push) Has been cancelled

This commit is contained in:
2025-07-30 01:02:19 -07:00
parent 4cd003a352
commit cbf9cd10be

View File

@@ -11,11 +11,17 @@ Currently-supported Gitlab event types:
* Merge request events * Merge request events
* Pipeline events (only publishes on failure for now) * 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 ## Building
Bebot is written in Rust, and requires a Rust toolchain in order to 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 build. I'm actually not sure what Bebot's MSRV is, but as of this
trick. 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 You can also build and install the latest released version of Bebot by
running `cargo install bebot`. 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 `sample-config.yaml` for all existing configuration options, as well as
documentation on what each option does. documentation on what each option does.
### Gitlab Hooks
When setting up the webhook in Gitlab, use the same `token` from the When setting up the webhook in Gitlab, use the same `token` from the
configuration file in the webhook's "Secret token" field. You should configuration file in the webhook's "Secret token" field. You should
only select "Push events", "Tag push events", "Issues events", "Merge 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 section of the configuration file. If you run the script with no
arguments, it will print out usage details. 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 ## Running
After you've done all that, simply run Bebot: 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, A `Dockerfile` is also provided. When running the container it builds,
mount the configuration file so it appears inside the container as 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 Release images are [published to Docker
Hub](https://hub.docker.com/r/kelnos/bebot). 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.