No description
Find a file
Cody Kickertz 330ed32f11
refactor: extract BaseMediaService<T> base class (#137)
* refactor: extract BaseMediaService<T> base class

Extract common CRUD operations into BaseMediaService<T>:
- Get, GetAll, Paged, Add, AddMany, Delete, DeleteMany, Update, UpdateMany
- SetAddedTimestamp with reflection for non-MediaItem types
- Virtual event hooks (OnItemAdded, OnItemDeleted, etc.)

Migrate services to use base class:
- BookService: 180 → 89 lines
- AudiobookService: 192 → 93 lines
- AlbumService: 132 → 58 lines
- ArtistService: 107 → 50 lines
- TrackService: 114 → 50 lines

Net reduction: ~385 lines

* chore: cleanup stale files and fix branding

Remove IDE/editor config files that should not be tracked:
- .vscode/, frontend/.vscode/, src/.idea/
- azure-pipelines.yml (obsolete CI)
- Empty localization files (bs, ta, et, lt, sr, es_MX)

Remove unused npm packages:
- react-addons-shallow-compare
- react-async-script

Fix remaining Radarr→Aletheia branding:
- ConsoleApp.cs error messages
- openapi.json title/description/license
- FileNameBuilder.cs default release group

---------

Co-authored-by: admin <admin@ardentleatherworks.com>
2025-12-22 15:37:23 -06:00
.devcontainer
.github feat(monitoring): implement hierarchical monitoring for Author/Series/Book/Audiobook (#132) 2025-12-22 12:04:21 -06:00
.husky fix(ci): add CODEOWNERS, enable test blocking, add pre-commit hooks 2025-12-19 11:03:07 -06:00
distribution
docker refactor: rename project from Logarr to Aletheia 2025-12-18 09:41:48 -06:00
docs docs: Update Radarr references to Aletheia and document test suite status (#113) 2025-12-21 14:50:10 -06:00
frontend refactor: extract BaseMediaService<T> base class (#137) 2025-12-22 15:37:23 -06:00
Logo
research docs: Update Radarr references to Aletheia and document test suite status (#113) 2025-12-21 14:50:10 -06:00
schemas
scripts chore: add pre-commit hooks and CI coverage reporting 2025-12-18 11:13:21 -06:00
src refactor: extract BaseMediaService<T> base class (#137) 2025-12-22 15:37:23 -06:00
.editorconfig chore: update GitHub Actions and consolidate .editorconfig rules (#85) 2025-12-19 20:00:23 -06:00
.gitattributes
.gitignore
.secretlintrc.json [WIP] Fix open issues after research and analysis (#110) 2025-12-21 14:19:46 -06:00
.yarnrc
build.sh fix(build): use pipe delimiter in sed for branch names with slashes 2025-12-18 11:12:40 -06:00
CHANGELOG.md fix: address SonarCloud code quality issues (#131) 2025-12-22 09:58:02 -06:00
CLA.md docs: update CLA to reference Aletheia 2025-12-18 14:10:59 -06:00
CODE_OF_CONDUCT.md refactor: rename project from Logarr to Aletheia 2025-12-18 09:41:48 -06:00
CONTRIBUTING.md [WIP] Fix open issues after research and analysis (#110) 2025-12-21 14:19:46 -06:00
docs.sh
global.json
LICENSE
package-lock.json fix: resolve build errors from Copilot API response code changes (#115) 2025-12-21 15:17:37 -06:00
package.json refactor: extract BaseMediaService<T> base class (#137) 2025-12-22 15:37:23 -06:00
README.md [WIP] Fix open issues after research and analysis (#110) 2025-12-21 14:19:46 -06:00
SECURITY.md refactor: rename project from Logarr to Aletheia 2025-12-18 09:41:48 -06:00
sonar-project.properties feat(monitoring): implement hierarchical monitoring for Author/Series/Book/Audiobook (#132) 2025-12-22 12:04:21 -06:00
test.sh
tsconfig.json
yarn.lock fix: resolve build errors from Copilot API response code changes (#115) 2025-12-21 15:17:37 -06:00

Aletheia

All-in-one media manager for movies, books, and audiobooks.

Overview

Aletheia (from Greek ἀλήθεια - "truth, disclosure") is a unified media management system forked from Radarr. It provides automated monitoring, downloading, and library management for multiple media types through a single interface. It's an ambitious attemp to merge much of the functionality of the arr apps. This, in addition to many personal feature requests, QoL improvements, and privacy/security updates.

Current Status: Active development. Movie functionality inherited from Radarr is working. Multi-media foundation being implemented.

Features

Movies (working):

  • Automated monitoring and quality upgrades
  • Metadata and artwork management
  • Integration with download clients and indexers

Books (in development):

  • EPUB, MOBI, PDF quality tracking
  • Author and series hierarchy
  • Goodreads/Hardcover metadata

Audiobooks (in development):

  • M4B, MP3, etc. support
  • Narrator tracking
  • Duration metadata and Audible integration

General:

  • Usenet and BitTorrent support
  • SABnzbd, NZBGet, qBittorrent, Deluge, rTorrent, Transmission integration
  • Plex and Kodi integration
  • Built-in archive extraction (Unpackerr functionality)

Privacy

Telemetry and analytics are disabled by default:

  • No usage analytics or behavior tracking
  • No machine fingerprinting or unique identifiers
  • Error reporting (Sentry) is opt-in
  • Update checks only send version and platform info (no personal data)

To enable error reporting for troubleshooting, toggle Analytics in Settings → General.

What data is collected if you opt-in:

  • Anonymous error reports via Sentry (stack traces, OS version, app version)
  • No personally identifiable information is ever collected

Quick Start

docker run -d \
  --name=aletheia \
  -e PUID=1000 \
  -e PGID=1000 \
  -p 7878:7878 \
  -v /path/to/config:/config \
  -v /path/to/media:/media \
  --restart unless-stopped \
  ghcr.io/cheir-mneme/aletheia:latest

Web interface: http://localhost:7878

Building from Source

Requirements: .NET 8.0 SDK, Node.js 20+, Yarn

git clone https://github.com/cheir-mneme/aletheia.git
cd aletheia
./build.sh --backend --frontend
dotnet run --project src/Radarr

Roadmap

See ROADMAP.md for detailed phase planning.

Completed:

  • Phase 0-1: Privacy & security fixes
  • Phase 2: Foundation (fork, CI/CD, branding)
  • Phase 2.5: Community standards, quality gates, Unpackerr absorption

Current:

  • Phase 3: Multi-media foundation (database generalization, indexer management)

Planned:

  • Phase 4: Books & audiobooks support
  • Phase 5: TV shows
  • Phase 6: Music (with fingerprinting and quality analysis)
  • Phase 7: Subtitles (Bazarr replacement), podcasts, comics

Contributing

See CONTRIBUTING.md for development setup, code guidelines, and PR process.

Development standards:

  • Conventional commits (feat:, fix:, docs:, etc.)
  • Feature branches + PRs to develop
  • Pre-commit hooks for linting

License

GNU GPL v3

Aletheia is a derivative of Radarr. Copyright 2010-2025.