No description
  • Python 73.1%
  • HTML 21.6%
  • CSS 3.8%
  • JavaScript 1.4%
Find a file
Gjessing1 2b37caf225
All checks were successful
docker / build-and-push (push) Successful in 7s
docker / deploy (push) Successful in 6s
replaygain: add full-retag mode to backfill job
Backfill all skips files that already carry ReplayGain tags, so it
never re-touches tracks written under the old -18 LUFS default. Add a
full=True path (new "Full retag" button on Library Health) that forces
skip_existing=False so the whole library gets recomputed against the
new -14 LUFS target.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-09 16:24:20 +00:00
.forgejo/workflows ui: red Delete button on track edit; forgejo: auto-deploy after build 2026-06-19 20:34:08 +00:00
.github/workflows Remove CI workflow (ruff/mypy/pytest) — not maintained, always failing 2026-05-20 16:48:17 +00:00
alembic lyrics sync preview + artist-credit health: offset nudging with live playback; per-track ARTIST credits surfaced and fixable 2026-07-03 05:58:47 +00:00
service replaygain: add full-retag mode to backfill job 2026-07-09 16:24:20 +00:00
tests lyrics sync preview + artist-credit health: offset nudging with live playback; per-track ARTIST credits surfaced and fixable 2026-07-03 05:58:47 +00:00
.gitignore Phase 2: acquisition pipeline 2026-05-18 17:38:15 +00:00
alembic.ini Phase 0: project skeleton 2026-05-18 16:37:18 +00:00
docker-compose.yml Phase 0: project skeleton 2026-05-18 16:37:18 +00:00
Dockerfile replaygain: track + album loudness normalization via rsgain, plus library backfill 2026-07-09 16:13:24 +00:00
pyproject.toml Fix CI, nav, library staleness, ReplayGain, album pipeline compat 2026-05-20 16:45:03 +00:00
README.md Phase 2: acquisition pipeline 2026-05-18 17:38:15 +00:00
uv.lock Phase 4: web UI (HTMX + Jinja2, PWA, audio streaming) 2026-05-18 18:20:14 +00:00
yt-dlp README.md Phase 1: local library indexing 2026-05-18 17:14:47 +00:00

audioreap

Self-hosted companion service for Navidrome that enables on-demand music acquisition from cloud sources (YouTube via yt-dlp). Acquired tracks become permanent local library entries.

Quick start

cp .env.example .env   # fill in AUDIOREAP_NAVIDROME_PASSWORD etc.
docker compose up -d

GET http://localhost:8000/health{"status":"ok",...}

Dev

uv sync --extra dev
uv run pytest -m "not e2e"
uv run ruff check .
uv run mypy service/