Skip to content

Development

Adam Glover edited this page Aug 18, 2026 · 1 revision

Development

Running from source

Requires Python 3.12.

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python -m vaultrequestrr

Tests

pip install -r requirements.txt pytest
pytest

Project layout

Path Purpose
vaultrequestrr/bot.py Discord bot setup and lifecycle
vaultrequestrr/cogs/ Slash-command cogs: requests.py, issues.py, invites.py
vaultrequestrr/seerr.py Seerr API client
vaultrequestrr/arr.py Direct Radarr/Sonarr API client
vaultrequestrr/plex.py Plex (invites, OAuth) integration
vaultrequestrr/linking.py Plex → Seerr account linking
vaultrequestrr/approvals.py Pending-request approval flow
vaultrequestrr/issue_actions.py Issue re-grab/resolve lifecycle
vaultrequestrr/notifications.py Webhook + poller DM delivery
vaultrequestrr/web.py Admin dashboard (and webhook endpoint)
vaultrequestrr/store.py SQLite persistence
vaultrequestrr/config.py Environment/config handling
tests/ Pytest suite

CI and releases

  • GitHub Actions runs the test suite on every push/PR (ci.yml).
  • The Docker image is published to GHCR as ghcr.io/vancityactivist/vaultrequestrr (docker-publish.yml).
  • An Unraid template lives at unraid/vaultrequestrr.xml — see Installation.

Contributing

Issues and PRs are welcome at https://github.com/vancityactivist/vaultrequestrr. Please run pytest before submitting.

Clone this wiki locally