maubot-media/base-config.yaml
Maddox bb29db6f32 v0.4.2: SQLite, subscriptions, Sonarr webhook, daily digest
- Enable maubot's bundled SQLite (database: true, webapp: true)
- Schema: subscriptions(mxid, sonarr_series_id, title, added_at) +
  digest_state for once-daily idempotency
- Commands: !media subscribe / unsubscribe / subscriptions / digest
- @web.post(/sonarr-webhook): on Download events, mention subscribers
  in notifications_room (Bearer auth via sonarr_webhook_secret)
- Daily digest loop: fires at digest_hour (Indianapolis), summarises
  Emby recently-added, NZBGet+qBt 24h completions, queue depth.
  Approximate EST/EDT calc since maubot container ships without tzdata.
2026-04-28 19:13:19 -04:00

72 lines
2 KiB
YAML

# Media bot configuration
http_timeout: 15
default_results: 5
# Inline poster art on `!media request` confirmations and `!media random` picks.
posters_enabled: true
# Matrix users allowed to approve/decline Seerr requests via 👍/👎 reactions.
admin_users:
- "@admin:example.com"
# Where to post Seerr webhook notifications (request created/approved/available/etc).
# Must be a room the bot has joined. Leave empty to disable.
notifications_room: ""
# Shared secret Seerr must send as `Authorization: Bearer <secret>` header.
# Generate with `openssl rand -hex 32`. Empty = no auth check (NOT recommended).
seerr_webhook_secret: ""
# Sonarr → Matrix subscription notifications.
# Configure Sonarr → Settings → Connect → Webhook with URL
# https://matrix.example.com/_matrix/maubot/plugin/media/sonarr-webhook
# and Headers: `Authorization: Bearer <secret>`. Triggers on Download events.
sonarr_webhook_secret: ""
# Daily digest — fires once a day in `notifications_room`.
digest_enabled: true
digest_hour: 8 # local hour (Indianapolis), 0-23
# --- Service endpoints ---
seerr:
url: http://arr-host:5056
api_key: CHANGEME
sonarr:
url: http://arr-host:8989
api_key: CHANGEME
radarr:
url: http://arr-host:7878
api_key: CHANGEME
emby:
url: http://emby-host:8096/emby
api_key: CHANGEME
nzbget:
url: http://download-host:6789
username: nzbget
password: CHANGEME
qbittorrent:
url: http://download-host:8082
username: admin
password: CHANGEME
# Map Matrix user IDs to per-service user identifiers.
# Senders not in this map get an "unauthorized" reply.
#
# Optional per-user defaults:
# default_media_type: "movie" | "tv" — used by `!media request <q>` when no
# --tv/--movie flag is given
# result_count: int — overrides default_results above
user_map:
"@admin:example.com":
seerr_user_id: 1
emby_user_id: "00000000000000000000000000000000"
"@user:example.com":
seerr_user_id: 2
emby_user_id: "TBD"