A Matrix bot that helps manage the *Arr apps
- Receives *Arr webhook notifications and posts them to a Matrix room
- Tracks Seerr issues and manages them in Matrix
| Variable | Required | Description |
|---|---|---|
MATRIX_HOMESERVER_URL |
Yes | Matrix homeserver URL |
MATRIX_USER_ID |
Yes | Bot's Matrix user ID |
MATRIX_PASSWORD |
Yes | Bot's Matrix password |
MATRIX_ROOM_ALIAS |
Yes | Room alias to post messages to |
DATABASE_URL |
Yes | PostgreSQL connection string |
SEERR_API_URL |
Yes | Seerr instance API URL |
SEERR_API_KEY |
Yes | Seerr API key |
WEBHOOK_LISTEN_ADDR |
No | Listen address (default: 0.0.0.0:8080) |
MATRIX_ADMIN_USERS |
No | Comma-separated list of Matrix user IDs allowed to run admin commands |
docker build -t michel-bot .
docker run -d \
-e MATRIX_HOMESERVER_URL=https://matrix.example.com \
-e MATRIX_USER_ID=@bot:example.com \
-e MATRIX_PASSWORD=secret \
-e MATRIX_ROOM_ALIAS='#room:example.com' \
-e DATABASE_URL=postgres://user:pass@db/michel \
-e SEERR_API_URL=https://seerr.example.com/api/v1 \
-e SEERR_API_KEY=your-api-key \
-p 8080:8080 \
michel-botPrerequisites: Rust 1.88+, PostgreSQL, a Matrix homeserver, and a Seerr instance.
cargo build
cargo runUnit tests (no external dependencies):
cargo test --libIntegration tests (requires Docker for testcontainers):
cargo test --test bddJetbrains:
To run cucumber tests via JetBrains IDEs command, you will need tu use the nightly compiler (see: https://intellij-rust.github.io/docs/faq.html#how-to-run-e2e-tests).
rustup default nighlyPOST /webhook/seerr — receives Seerr webhook payloads.