/anilistarr-rs

anilist custom list provider for sonarr/radarr, now in Rust 🦀

Primary LanguageRustMIT LicenseMIT

anilistarr-rs

anilist custom list provider for sonarr/radarr, now in Rust 🦀

GitHub Issues GitHub Pull Requests

Codecov License

built with nix


📝 Table of Contents

🧐 About

This is a re-write of https://github.com/wwmoraes/anilistarr, mostly for my own educational purposes. Albeit not top-notch rustacean-quality code, it gave me great insights about how to pull a clean architecture style model in Rust.

Converts an Anilist user watching list to a custom list format which *arr apps support.

It works by fetching the user info directly from Anilist thanks to its API, and converts the IDs using community-provided mappings.

Try it out on a live instance at https://anilistarr.fly.dev/. For API details check either the source Swagger definition or the generated online version here.

🏁 Getting Started

Clone the repository and use cargo run to get the REST API up.

🔧 Running the tests

Explain how to run the automated tests for this system.

🎈 Usage

Configuration in general is a WIP. The code supports distinct storage and cache options and has built-in support for different caches and stores. The handler needs flags/configuration file support to allow switching at runtime.

Implemented solutions:

  • Cache
    • LMDB
    • Redis
  • Store
    • LMDB

🚀 Deployment

The handler binary is statically compiled and serves both the REST API and the telemetry to an OTLP endpoint. Extra requirements depend on which storage and cache technologies you've chosen; e.g. using LMDB requires a database file.

🔧 Built Using

🧑‍💻 Authors

🎉 Acknowledgements