About this project

Mastarr is an open-source application designed to review downloaded media and reconcile it with existing media stacks, specifically targeting integration with Radarr, Sonarr, Jellyfin, and Seerr. Currently in the implementation phase for version 0.0.1, the project provides a robust framework for discovering video and subtitle files within configured download directories, including those where download history has been lost. The core functionality revolves around a comprehensive review dashboard that displays download provenance, tracked media, and distinct states for registration, import, and availability across all connected instances. Users can perform actions such as registering and importing media through Arr applications, placing files directly into libraries, or organizing and cleaning up files. Each of these actions is exposed via independent REST contracts, ensuring a clear API structure. Technically, Mastarr employs a Go-based backend utilizing hexagonal architecture ports, oapi-codegen for API generation, SQLite for data storage, sqlc for type-safe SQL, and golang-migrate for database migrations. The frontend is served by a nested Go UI module that acts as a Backend-For-Frontend (BFF) for the Goshtoso dashboard. The system supports durable workflows, showing approvals, partial failures, retries, and cancellation statuses. Security features like basic auth and OIDC are planned for future versions (v0.0.2), with v0.0.1 focusing on core functionality without application authentication. The project includes detailed documentation covering system specifications, HTTP contracts, connector ports, data recovery mechanisms, configuration options, and dashboard boundaries. It emphasizes a structured development process with implementation lanes, acceptance matrices, and pre-commit hooks for code quality.