Skip to content

peterbuga/rationarr

Repository files navigation

    Rationarr

    Github Actions Releases LICENSE

    Watch your favorite indexers stats over time and automate ratio-improvement tasks.

Warning

⚠️ This is very much still work in progress! There are no safety measures in place, DO NOT expose the app to the internet, place it behind IAM apps like Authelia/Authentik/KeyCloak etc or limit strictly to internal/vpn network use!

📝 Table of Contents

  1. Preview
  2. Description
  3. Indexers
  4. Getting started
  5. Development
  6. License

🖼️ Preview

dashboard

indexers

🙄 Yet another *arr ...

Initially this was supposed to be a collection of scripts but eventually evolved into Rationarr.

This was created in mind to complement Prowlarr and maximize indexers' usage based on various criterias:

  • stop indexers usage when a specific ratio threshold was reached to avoid warnings [not implemented yet]
  • trigger notifications if seed items dropped drastically below a specific threshold (ex: client/seedbox stopped or suddently not-connectable anymore from indexer side) [not implemented yet]
  • auto use bonuses (*where it applies) to increase the ratio
  • nice graphs to see basic indexer stats over time
  • other nice features I haven't thought so far ...

🗃️ Indexers

Support for indexers is basic so far due to PoC-level, more to come:

  • MAM
  • HDS
  • HHD
  • ST
  • DP
  • generic UNIT3D-based indexer

🖥️ Getting started

Requirements

  • docker
  • a running and accessible Prowlarr instance
  • (optional) FlareSolverr instance (not included by default in base compose.yml)

Copy .env.template to .env, fill up the required envs and run:

docker compose up -d

As a minimum security the app runs as non-root user 1000:1000.

🪚 Development

Frontend

The rationarr-web container takes care of installing npm modules and properly starting the app.

npm run fix-format for linting

Backend

The rationarr-app container takes care of installing pip modules (by building the docker image) and properly starting the app.

Run migrations

alembic upgrade head

Create db migration

alembic revision --autogenerate -m 'Migration message'

Run development locally

The following command create a separate container for the following:

  • rationarr-app - backend API based on FastAPI available on port :8000
  • rationarr-web - frontend NextJS available on port :5173
  • rationarr-db - postgres17
  • rationarr-traefik - reverse proxy for backend+frontend to route traffic on backend+frontend on port :8009 - prefferably to use this for dev
  • rationarr-prowlarr
  • rationarr-flaresolverr
docker compose -f compose.yml -f compose.dev.yml up -d

📜 License

This project is licensed under the AGPL v3.0 License. See the LICENSE file for details.

About

Track, monitor account status and help improve ratio on various private indexer websites.

Topics

Resources

License

Stars

Watchers

Forks

Packages