subarr
The coordination, measurement, and quality layer that subgen never had. A peer service for the *arr family that adds calibrated audio-language detection, provider success leaderboards, and (v1.1) an in-app Whisper tuning lab.
File Explorer
Download Latest Version (.zip)- pre-commit
- beta_test_report.yml
- bug_report.yml
- compat_question.yml
- config.yml
- feature_request.yml
- provider_leaderboard_data.yml
- whisper_tuning_question.yml
- ci.yml
- codeql.yml
- frontend.yml
- image-staleness.yml
- promote-stable.yml
- release.yml
- security-drift.yml
- security.yml
- tone-gate.yml
- dependabot.yml
- labels.yml
- pull_request_template.md
- release-drafter.yml
- README.md
- worker.js
- wrangler.toml
- README.md
- worker.js
- wrangler.toml
- install.sh
- .env.example
- README.md
- tier1-no-docker.compose.yaml
- tier2-socket-proxy.compose.yaml
- tier3-config-mounts.compose.yaml
- compose.yaml
- queue-authority.md
- subgen-surface.md
- tournament-validation.md
- 01-dashboard.png
- 02-coverage.png
- 03-queue.png
- 04-library.png
- 05-review.png
- 06-rules.png
- 07-settings-integrations.png
- 08-settings-telemetry.png
- 09-logs.png
- 10-tuning-lab.png
- 11-leaderboard.png
- 12-audio-issues.png
- 2026-06-27-161-phase3-writeback-handoff.md
- 2026-06-07-series-intent-ui.md
- 2026-06-08-job-aftercare.md
- 2026-06-11-134-phase1-foundation.md
- 2026-06-11-134-phase1-slices3-6.md
- 2026-06-11-157-phase2-fleet-crash-telemetry.md
- 2026-06-13-guided-subgen-setup.md
- 2026-06-17-forced-auth-phase-a.md
- 2026-06-19-arena-subgen-concurrency.md
- 2026-06-25-161-phase1-inert-plumbing.md
- 2026-06-26-161-phase2-coverage-merge.md
- 2026-06-26-161-phase3-writeback-routing.md
- 2026-06-27-161-phase4a-instance-config-backend.md
- 2026-06-29-358-audio-language-canonicalization.md
- 2026-06-30-359-srt-retimer.md
- 2026-07-01-359-retimer-tuning.md
- 2026-07-01-359-retimer-wiring.md
- 2026-07-02-357-multilingual-audio.md
- 2026-07-03-406-multilingual-correction-ui.md
- 2026-07-07-157-observability-gapfill.md
- 2026-07-09-364-forced-segment-slice1.md
- 2026-07-10-364-forced-segment-slice2.md
- 2026-07-13-407-multilang-chunk-conf-capture.md
- 2026-07-14-364-forced-segment-toggle.md
- 2026-07-14-lid-threshold-validation.md
- 2026-07-15-71-slice1-media-server-abstraction.md
- 2026-07-15-71-slice2a-jellyfin-backend.md
- 2026-07-15-71-slice2b-jellyfin-surfacing.md
- 2026-07-15-71-slice2c-path-autodetect.md
- 2026-08-04-171-phase1-capability-audit.md
- 2026-08-07-171-phase2-quality-study.md
- 2026-06-07-series-audio-language-rules-ui-design.md
- 2026-06-08-job-aftercare-design.md
- 2026-06-13-guided-subgen-setup-design.md
- 2026-06-17-forced-auth-design.md
- 2026-06-18-api-keys-design.md
- 2026-06-18-auto-first-walk-design.md
- 2026-06-18-login-throttle-design.md
- 2026-06-18-nonroot-container-design.md
- 2026-06-18-onboarding-funnel-telemetry-design.md
- 2026-06-19-arena-subgen-concurrency-design.md
- 2026-06-19-multi-instance-design.md
- 2026-06-22-subtitle-controls-discoverability-design.md
- 2026-06-25-161-multi-instance-design.md
- 2026-06-26-161-multi-instance-ux-surface-audit.md
- 2026-06-26-161-phase2-coverage-merge-design.md
- 2026-06-26-161-phase3-writeback-routing-design.md
- 2026-06-29-358-audio-language-canonicalization-design.md
- 2026-06-30-359-srt-retimer-design.md
- 2026-07-01-359-retimer-tuning-design.md
- 2026-07-01-359-retimer-wiring-design.md
- 2026-07-02-357-multilingual-audio-design.md
- 2026-07-03-406-multilingual-correction-ui-design.md
- 2026-07-07-157-observability-gapfill-design.md
- 2026-07-09-364-forced-segment-generation-design.md
- 2026-07-10-364-forced-segment-slice2-local-lid-design.md
- 2026-07-13-407-multilang-chunk-conf-capture-design.md
- 2026-07-14-364-forced-segment-settings-toggle-design.md
- 2026-07-14-lid-threshold-validation-design.md
- 2026-07-15-71-media-server-abstraction-design.md
- 2026-08-04-171-drop-stable-ts-evidence-design.md
- 171-phase2-quality-study.md
- architecture-dark.png
- architecture.png
- architecture.svg
- audio-lang-tuning-subsystem-map.md
- design-notes.md
- handoff-134-phase1.md
- handoff-v1.2.md
- hero.gif
- hero.mp4
- jellyfin-api-research-2026-07-15.md
- lid-threshold-validation-2026-07-14.md
- release-procedure.md
- whisper-tuning.md
- build-frontend.mjs
- changelog_section.py
- generate-brand-assets.py
- lid_tune.py
- multilang_tune.py
- phase2_corpus.py
- phase2_run_arm.py
- retime_tune.py
- setup-hooks.mjs
- sticky-issue.sh
- vitest.setup.js
- lid_lang_dict_95.json
- __init__.py
- base.py
- bazarr.py
- jellyfin.py
- media_server.py
- ollama.py
- plex.py
- radarr.py
- sonarr.py
- tautulli.py
- 001_baseline.sql
- 002_update_checks.sql
- 003_telemetry.sql
- 004_onboarding.sql
- 005_telemetry_error_timestamp.sql
- 006_error_events.sql
- 007_probe_failures.sql
- 008_init_schema_parity.sql
- 009_arena_runs.sql
- 010_audio_audit.sql
- 011_audio_audit_tracks.sql
- 012_task_health.sql
- 013_mixed_language_dismissed.sql
- 014_pending_queue.sql
- 015_pending_queue_provenance.sql
- 016_track_mismatch_dismissed.sql
- 017_aftercare_results.sql
- 018_crash_events.sql
- 019_update_missed_releases.sql
- 020_aftercare_preview.sql
- 021_auth.sql
- 022_api_keys.sql
- 023_arena_cps_thresholds.sql
- 024_subs_ignored.sql
- 025_pending_queue_ignore_forced.sql
- 026_pending_queue_radarr_movie_id.sql
- 027_audio_lang_multilingual.sql
- 028_forced_segment_scans.sql
- 029_audio_audit_chunks_conf.sql
- README.md
- __init__.py
- admin.py
- aftercare.py
- api_keys.py
- arbiter.py
- arena.py
- arr_mediainfo.py
- audio_audit.py
- audio_lang.py
- auth.py
- bazarr_sync.py
- blacklist.py
- browse.py
- coverage.py
- coverage_actions.py
- discovery.py
- enrichment.py
- forced_segment.py
- gpu.py
- home.py
- household.py
- instances.py
- integrations.py
- languages.py
- libraries.py
- logs.py
- mode.py
- onboarding.py
- probe.py
- provenance.py
- providers.py
- queue.py
- scan.py
- schedule.py
- sidecar.py
- subgen_setup.py
- telemetry.py
- updates.py
- vad.py
- vision.py
- bg.svg
- cn.svg
- cz.svg
- de.svg
- dk.svg
- ee.svg
- es.svg
- fi.svg
- fr.svg
- gb.svg
- gr.svg
- hr.svg
- hu.svg
- id.svg
- il.svg
- in.svg
- ir.svg
- is.svg
- it.svg
- jp.svg
- kr.svg
- lt.svg
- lv.svg
- my.svg
- nl.svg
- no.svg
- pl.svg
- pt.svg
- README.md
- ro.svg
- rs.svg
- ru.svg
- sa.svg
- se.svg
- si.svg
- sk.svg
- th.svg
- tr.svg
- ua.svg
- vn.svg
- api.test.js
- arbiter-accept-routing.test.js
- arbiter-whisper-anyway.test.js
- arena-status.test.js
- atoms.test.js
- blacklist-routing.test.js
- coverage-library-filter.test.js
- coverage-multilingual-badge.test.js
- coverage-queue-body.test.js
- dashboard-cta.test.js
- forced-segment-toggle.test.js
- instance-health-util.test.js
- instances-editor.test.js
- languages.test.js
- libraries-binding.test.js
- library-root-picker.test.js
- log-helpers.test.js
- queue-arena-slot.test.js
- review-multiselect.test.js
- session-guard.test.js
- subtitle-controls-hub.test.js
- aftercare.entry.jsx
- arena.entry.jsx
- auth.entry.jsx
- coverage.entry.jsx
- file-modal.entry.jsx
- health.entry.jsx
- home.entry.jsx
- library.entry.jsx
- logs.entry.jsx
- onboarding.entry.jsx
- queue.entry.jsx
- review.entry.jsx
- rules.entry.jsx
- settings.entry.jsx
- aftercare.bundle.js
- aftercare.bundle.js.map
- aftercare.jsx
- api-fetch.mjs
- api.jsx
- arena.bundle.js
- arena.bundle.js.map
- arena.jsx
- atoms.jsx
- auth.bundle.js
- auth.bundle.js.map
- auth.jsx
- blacklist-panel.jsx
- chrome.jsx
- coverage.bundle.js
- coverage.bundle.js.map
- coverage.jsx
- dashboard.jsx
- file-modal.bundle.js
- file-modal.bundle.js.map
- file-modal.jsx
- health.bundle.js
- health.bundle.js.map
- health.jsx
- home.bundle.js
- home.bundle.js.map
- instance-health-util.mjs
- instances-editor.jsx
- lang-rules-util.mjs
- languages.mjs
- libraries-editor.jsx
- library.bundle.js
- library.bundle.js.map
- library.jsx
- log-helpers.mjs
- logs.bundle.js
- logs.bundle.js.map
- logs.jsx
- onboarding.bundle.js
- onboarding.bundle.js.map
- onboarding.jsx
- queue.bundle.js
- queue.bundle.js.map
- queue.jsx
- review.bundle.js
- review.bundle.js.map
- review.jsx
- rules.bundle.js
- rules.bundle.js.map
- rules.jsx
- session-guard.js
- settings.bundle.js
- settings.bundle.js.map
- settings.jsx
- subgen-setup.jsx
- tokens.css
- react-dom.production.min.js
- react.production.min.js
- aftercare.html
- arena.html
- auth.html
- coverage.html
- favicon-16.png
- favicon-192.png
- favicon-32.png
- favicon-512.png
- favicon.svg
- file-modal.html
- health.html
- home.html
- library.html
- logs.html
- og-card.png
- onboarding.html
- queue.html
- review.html
- rules.html
- settings.html
- site.webmanifest
- __init__.py
- corpus.py
- metrics.py
- __init__.py
- aftercare.py
- aftercare_store.py
- api_keys.py
- api_security.py
- app.py
- arena.py
- arena_explain.py
- arena_sampler.py
- arena_service.py
- arena_store.py
- arr_mediainfo.py
- audio_audit.py
- audio_audit_store.py
- audio_lang_store.py
- audio_lang_verify.py
- audio_sampler.py
- auth.py
- auth_store.py
- auto_queue.py
- backfill.py
- circuit_breaker.py
- cli.py
- completion_watcher.py
- config.py
- config_extractor.py
- config_store.py
- coverage_cache.py
- coverage_engine.py
- crash_store.py
- dashboard_cache.py
- data_persistence.py
- db_integrity.py
- docker_client.py
- docker_discovery.py
- enrichment.py
- error_detail.py
- error_store.py
- existing_audit.py
- existing_audit_service.py
- forced_segment.py
- forced_segment_lid.py
- forced_segment_service.py
- forced_segment_store.py
- instances.py
- jobs.py
- langs.py
- libraries.py
- lid.py
- lid_tune.py
- log_ring.py
- log_safe.py
- login_throttle.py
- loop_lag.py
- media_probe.py
- migrate.py
- multilang.py
- multilang_tune.py
- onboarding.py
- paths.py
- pending_feeder.py
- pending_queue.py
- pending_store.py
- probe_store.py
- probe_walker.py
- provenance.py
- provider_leaderboard.py
- qe.py
- qe_onnx.py
- request_crash_capture.py
- retime_tune.py
- scan_runner.py
- scan_store.py
- schedule_store.py
- scheduler.py
- security_headers.py
- sidecar_scanner.py
- single_process.py
- subgen_capacity.py
- subgen_client.py
- subgen_config_gen.py
- subgen_hardware.py
- subgen_watchdog.py
- subtitle_readability.py
- subtitle_retime.py
- subtitle_sanitize.py
- task_health.py
- telemetry.py
- tournament.py
- tournament_harness.py
- track_swap.py
- transcript_signals.py
- update_checker.py
- vad.py
- dense_18_The Program (2024) WEBRip-1080p.srt
- dense_19_1992 - S02E03 - Episode 3 HDTV-1080p -NovaRip.srt
- dense_20_1992 - S02E06 - Episode 6 HDTV-1080p -NovaRip.srt
- dense_21_1992 - S02E07 - Episode 7 HDTV-1080p.srt
- dense_22_Nur.37.Sekunden.S01E05.German.DL.1080p.WEB-DL.x264-4SF.srt
- dense_23_A Cop in the Apennines - S01E01 - TBA WEBDL-1080p -G66.srt
- dense_24_A Cop in the Apennines - S01E02 - TBA WEBDL-1080p -G66.srt
- dense_25_Agent TΓΈrr - S01E06 - Bombe om bord WEBDL-1080p -WAEGGA.srt
- dense_26_Alex Hugo - S11E02 - The new Eldorado WEBDL-1080p -AMB3R.srt
- normal_09_American Murderer (2022) Bluray-1080p.srt
- normal_10_An Irish Goodbye (2022) WEBRip-1080p.srt
- normal_11_Cardboard Gangsters (2017) WEBDL-1080p.srt
- normal_12_Climax (2018).srt
- normal_13_Companion (2025) WEBRip-1080p.srt
- normal_14_Craigslist Joe (2012) WEBRip-1080p.srt
- normal_15_Emily the Criminal (2022) Bluray-1080p.srt
- normal_16_Fullmetal Alchemist (2017).srt
- normal_17_Land of Bad (2024).srt
- server_config.json
- sparse_00_Boyka - Undisputed IV (2016).srt
- sparse_01_Brimstone (2016).srt
- sparse_02_Midnight Special (2016) Bluray-720p.srt
- sparse_03_Monos (2019).srt
- sparse_04_My Neighbor Adolf (2022).srt
- sparse_06_A Prophet - The Series - S01E03 - TBA WEBRip-1080p -S4LVE.srt
- sparse_07_Acquitted - S01E01 - Homecoming Bluray-1080p -RSG.srt
- sparse_08_Acquitted - S01E04 - Disclosure Bluray-1080p -RSG.srt
- very_dense_27_Army of Thieves (2021) WEBRip-1080p.srt
- very_dense_28_Avant le crash - S01E01 - Episode 1 WEBDL-1080p -COLL3CTiF.srt
- very_dense_29_the.chevaline.killings.s01e01.subbed.1080p.web.h264-cbfm.srt
- very_dense_30_Fonejacker.S01E01.DVDRip.XViD-HAGGiS.srt
- very_dense_31_Fonejacker.S01E02.DVDRip.XViD-HAGGiS.srt
- very_dense_32_Fonejacker.S01E03.DVDRip.XViD-HAGGiS.srt
- very_dense_33_Fonejacker.S01E05.DVDRip.XViD-HAGGiS.srt
- very_dense_34_Fonejacker.02x06.-.Episode.6.srt
- very_dense_35_Fonejacker.S02E04.WS.DVDRip.XviD-RiVER.srt
- dense_18_The Program (2024) WEBRip-1080p.srt
- dense_19_1992 - S02E03 - Episode 3 HDTV-1080p -NovaRip.srt
- dense_20_1992 - S02E06 - Episode 6 HDTV-1080p -NovaRip.srt
- dense_21_1992 - S02E07 - Episode 7 HDTV-1080p.srt
- dense_22_Nur.37.Sekunden.S01E05.German.DL.1080p.WEB-DL.x264-4SF.srt
- dense_23_A Cop in the Apennines - S01E01 - TBA WEBDL-1080p -G66.srt
- dense_24_A Cop in the Apennines - S01E02 - TBA WEBDL-1080p -G66.srt
- dense_25_Agent TΓΈrr - S01E06 - Bombe om bord WEBDL-1080p -WAEGGA.srt
- dense_26_Alex Hugo - S11E02 - The new Eldorado WEBDL-1080p -AMB3R.srt
- normal_09_American Murderer (2022) Bluray-1080p.srt
- normal_10_An Irish Goodbye (2022) WEBRip-1080p.srt
- normal_11_Cardboard Gangsters (2017) WEBDL-1080p.srt
- normal_12_Climax (2018).srt
- normal_13_Companion (2025) WEBRip-1080p.srt
- normal_14_Craigslist Joe (2012) WEBRip-1080p.srt
- normal_15_Emily the Criminal (2022) Bluray-1080p.srt
- normal_16_Fullmetal Alchemist (2017).srt
- normal_17_Land of Bad (2024).srt
- server_config.json
- sparse_00_Boyka - Undisputed IV (2016).srt
- sparse_01_Brimstone (2016).srt
- sparse_02_Midnight Special (2016) Bluray-720p.srt
- sparse_03_Monos (2019).srt
- sparse_04_My Neighbor Adolf (2022).srt
- sparse_05_Steppenwolf (2024) Bluray-1080p.srt
- sparse_06_A Prophet - The Series - S01E03 - TBA WEBRip-1080p -S4LVE.srt
- sparse_07_Acquitted - S01E01 - Homecoming Bluray-1080p -RSG.srt
- sparse_08_Acquitted - S01E04 - Disclosure Bluray-1080p -RSG.srt
- very_dense_27_Army of Thieves (2021) WEBRip-1080p.srt
- very_dense_28_Avant le crash - S01E01 - Episode 1 WEBDL-1080p -COLL3CTiF.srt
- very_dense_29_the.chevaline.killings.s01e01.subbed.1080p.web.h264-cbfm.srt
- very_dense_30_Fonejacker.S01E01.DVDRip.XViD-HAGGiS.srt
- very_dense_31_Fonejacker.S01E02.DVDRip.XViD-HAGGiS.srt
- very_dense_32_Fonejacker.S01E03.DVDRip.XViD-HAGGiS.srt
- very_dense_33_Fonejacker.S01E05.DVDRip.XViD-HAGGiS.srt
- very_dense_34_Fonejacker.02x06.-.Episode.6.srt
- very_dense_35_Fonejacker.S02E04.WS.DVDRip.XviD-RiVER.srt
- dense_18_The Program (2024) WEBRip-1080p.srt
- dense_19_1992 - S02E03 - Episode 3 HDTV-1080p -NovaRip.srt
- dense_20_1992 - S02E06 - Episode 6 HDTV-1080p -NovaRip.srt
- dense_21_1992 - S02E07 - Episode 7 HDTV-1080p.srt
- dense_22_Nur.37.Sekunden.S01E05.German.DL.1080p.WEB-DL.x264-4SF.srt
- dense_23_A Cop in the Apennines - S01E01 - TBA WEBDL-1080p -G66.srt
- dense_24_A Cop in the Apennines - S01E02 - TBA WEBDL-1080p -G66.srt
- dense_25_Agent TΓΈrr - S01E06 - Bombe om bord WEBDL-1080p -WAEGGA.srt
- dense_26_Alex Hugo - S11E02 - The new Eldorado WEBDL-1080p -AMB3R.srt
- normal_09_American Murderer (2022) Bluray-1080p.srt
- normal_10_An Irish Goodbye (2022) WEBRip-1080p.srt
- normal_11_Cardboard Gangsters (2017) WEBDL-1080p.srt
- normal_12_Climax (2018).srt
- normal_13_Companion (2025) WEBRip-1080p.srt
- normal_14_Craigslist Joe (2012) WEBRip-1080p.srt
- normal_15_Emily the Criminal (2022) Bluray-1080p.srt
- normal_16_Fullmetal Alchemist (2017).srt
- normal_17_Land of Bad (2024).srt
- server_config.json
- sparse_00_Boyka - Undisputed IV (2016).srt
- sparse_01_Brimstone (2016).srt
- sparse_02_Midnight Special (2016) Bluray-720p.srt
- sparse_03_Monos (2019).srt
- sparse_04_My Neighbor Adolf (2022).srt
- sparse_05_Steppenwolf (2024) Bluray-1080p.srt
- sparse_06_A Prophet - The Series - S01E03 - TBA WEBRip-1080p -S4LVE.srt
- sparse_07_Acquitted - S01E01 - Homecoming Bluray-1080p -RSG.srt
- sparse_08_Acquitted - S01E04 - Disclosure Bluray-1080p -RSG.srt
- very_dense_27_Army of Thieves (2021) WEBRip-1080p.srt
- very_dense_28_Avant le crash - S01E01 - Episode 1 WEBDL-1080p -COLL3CTiF.srt
- very_dense_29_the.chevaline.killings.s01e01.subbed.1080p.web.h264-cbfm.srt
- very_dense_30_Fonejacker.S01E01.DVDRip.XViD-HAGGiS.srt
- very_dense_31_Fonejacker.S01E02.DVDRip.XViD-HAGGiS.srt
- very_dense_32_Fonejacker.S01E03.DVDRip.XViD-HAGGiS.srt
- very_dense_33_Fonejacker.S01E05.DVDRip.XViD-HAGGiS.srt
- very_dense_34_Fonejacker.02x06.-.Episode.6.srt
- very_dense_35_Fonejacker.S02E04.WS.DVDRip.XviD-RiVER.srt
- dense_18_The Program (2024) WEBRip-1080p.srt
- dense_19_1992 - S02E03 - Episode 3 HDTV-1080p -NovaRip.srt
- dense_20_1992 - S02E06 - Episode 6 HDTV-1080p -NovaRip.srt
- dense_21_1992 - S02E07 - Episode 7 HDTV-1080p.srt
- dense_22_Nur.37.Sekunden.S01E05.German.DL.1080p.WEB-DL.x264-4SF.srt
- dense_23_A Cop in the Apennines - S01E01 - TBA WEBDL-1080p -G66.srt
- dense_24_A Cop in the Apennines - S01E02 - TBA WEBDL-1080p -G66.srt
- dense_25_Agent TΓΈrr - S01E06 - Bombe om bord WEBDL-1080p -WAEGGA.srt
- dense_26_Alex Hugo - S11E02 - The new Eldorado WEBDL-1080p -AMB3R.srt
- normal_09_American Murderer (2022) Bluray-1080p.srt
- normal_10_An Irish Goodbye (2022) WEBRip-1080p.srt
- normal_11_Cardboard Gangsters (2017) WEBDL-1080p.srt
- normal_12_Climax (2018).srt
- normal_13_Companion (2025) WEBRip-1080p.srt
- normal_14_Craigslist Joe (2012) WEBRip-1080p.srt
- normal_15_Emily the Criminal (2022) Bluray-1080p.srt
- normal_16_Fullmetal Alchemist (2017).srt
- normal_17_Land of Bad (2024).srt
- server_config.json
- sparse_00_Boyka - Undisputed IV (2016).srt
- sparse_01_Brimstone (2016).srt
- sparse_02_Midnight Special (2016) Bluray-720p.srt
- sparse_03_Monos (2019).srt
- sparse_04_My Neighbor Adolf (2022).srt
- sparse_05_Steppenwolf (2024) Bluray-1080p.srt
- sparse_06_A Prophet - The Series - S01E03 - TBA WEBRip-1080p -S4LVE.srt
- sparse_07_Acquitted - S01E01 - Homecoming Bluray-1080p -RSG.srt
- sparse_08_Acquitted - S01E04 - Disclosure Bluray-1080p -RSG.srt
- very_dense_27_Army of Thieves (2021) WEBRip-1080p.srt
- very_dense_28_Avant le crash - S01E01 - Episode 1 WEBDL-1080p -COLL3CTiF.srt
- very_dense_29_the.chevaline.killings.s01e01.subbed.1080p.web.h264-cbfm.srt
- very_dense_30_Fonejacker.S01E01.DVDRip.XViD-HAGGiS.srt
- very_dense_31_Fonejacker.S01E02.DVDRip.XViD-HAGGiS.srt
- very_dense_32_Fonejacker.S01E03.DVDRip.XViD-HAGGiS.srt
- very_dense_33_Fonejacker.S01E05.DVDRip.XViD-HAGGiS.srt
- very_dense_34_Fonejacker.02x06.-.Episode.6.srt
- very_dense_35_Fonejacker.S02E04.WS.DVDRip.XviD-RiVER.srt
- dense_18_The Program (2024) WEBRip-1080p.srt
- dense_19_1992 - S02E03 - Episode 3 HDTV-1080p -NovaRip.srt
- dense_20_1992 - S02E06 - Episode 6 HDTV-1080p -NovaRip.srt
- dense_21_1992 - S02E07 - Episode 7 HDTV-1080p.srt
- dense_22_Nur.37.Sekunden.S01E05.German.DL.1080p.WEB-DL.x264-4SF.srt
- dense_23_A Cop in the Apennines - S01E01 - TBA WEBDL-1080p -G66.srt
- dense_24_A Cop in the Apennines - S01E02 - TBA WEBDL-1080p -G66.srt
- dense_25_Agent TΓΈrr - S01E06 - Bombe om bord WEBDL-1080p -WAEGGA.srt
- dense_26_Alex Hugo - S11E02 - The new Eldorado WEBDL-1080p -AMB3R.srt
- normal_09_American Murderer (2022) Bluray-1080p.srt
- normal_10_An Irish Goodbye (2022) WEBRip-1080p.srt
- normal_11_Cardboard Gangsters (2017) WEBDL-1080p.srt
- normal_12_Climax (2018).srt
- normal_13_Companion (2025) WEBRip-1080p.srt
- normal_14_Craigslist Joe (2012) WEBRip-1080p.srt
- normal_15_Emily the Criminal (2022) Bluray-1080p.srt
- normal_16_Fullmetal Alchemist (2017).srt
- normal_17_Land of Bad (2024).srt
- server_config.json
- sparse_00_Boyka - Undisputed IV (2016).srt
- sparse_01_Brimstone (2016).srt
- sparse_02_Midnight Special (2016) Bluray-720p.srt
- sparse_03_Monos (2019).srt
- sparse_04_My Neighbor Adolf (2022).srt
- sparse_05_Steppenwolf (2024) Bluray-1080p.srt
- sparse_06_A Prophet - The Series - S01E03 - TBA WEBRip-1080p -S4LVE.srt
- sparse_07_Acquitted - S01E01 - Homecoming Bluray-1080p -RSG.srt
- sparse_08_Acquitted - S01E04 - Disclosure Bluray-1080p -RSG.srt
- very_dense_27_Army of Thieves (2021) WEBRip-1080p.srt
- very_dense_28_Avant le crash - S01E01 - Episode 1 WEBDL-1080p -COLL3CTiF.srt
- very_dense_29_the.chevaline.killings.s01e01.subbed.1080p.web.h264-cbfm.srt
- very_dense_30_Fonejacker.S01E01.DVDRip.XViD-HAGGiS.srt
- very_dense_31_Fonejacker.S01E02.DVDRip.XViD-HAGGiS.srt
- very_dense_32_Fonejacker.S01E03.DVDRip.XViD-HAGGiS.srt
- very_dense_33_Fonejacker.S01E05.DVDRip.XViD-HAGGiS.srt
- very_dense_34_Fonejacker.02x06.-.Episode.6.srt
- very_dense_35_Fonejacker.S02E04.WS.DVDRip.XviD-RiVER.srt
- coverage_single_instance_golden.json
- screenshots.spec.ts
- smoke.spec.ts
- .gitignore
- package-lock.json
- package.json
- playwright.config.ts
- README.md
- bazarr_badges.json
- bazarr_episodes_wanted.json
- bazarr_movies_wanted.json
- bazarr_providers_episodes.json
- radarr_movies.json
- radarr_system_status.json
- sonarr_series.json
- sonarr_system_status.json
- lang-rules-util.test.mjs
- conftest.py
- test_admin_gpu.py
- test_aftercare.py
- test_aftercare_completion.py
- test_aftercare_router.py
- test_aftercare_signals.py
- test_aftercare_store.py
- test_api_keys_core.py
- test_api_keys_principal.py
- test_api_keys_router.py
- test_api_keys_store.py
- test_api_security.py
- test_arbiter_movie_accept.py
- test_arena.py
- test_arena_router.py
- test_arena_sampler.py
- test_arena_service.py
- test_audio_audit.py
- test_audio_audit_health.py
- test_audio_audit_multilingual.py
- test_audio_audit_router.py
- test_audio_lang_normalize.py
- test_audio_lang_override_2letter.py
- test_audio_lang_propagation.py
- test_audio_lang_propagation_coverage.py
- test_audio_lang_router_multi.py
- test_audio_lang_series_intent_routes.py
- test_audio_lang_store_multi.py
- test_audio_lang_verify.py
- test_audio_sampler_vad.py
- test_audio_source.py
- test_auth.py
- test_auth_cli.py
- test_auth_core.py
- test_auth_hardening.py
- test_auth_router.py
- test_auth_status.py
- test_auth_store.py
- test_auto_first_walk.py
- test_backfill.py
- test_base_post_put_contract.py
- test_bazarr_blind_defense.py
- test_bazarr_history.py
- test_blacklist_history.py
- test_changelog_section.py
- test_circuit_breaker.py
- test_clients_for.py
- test_closed_client_subclass_calls.py
- test_compat_mode_gating.py
- test_completion_forced_segment.py
- test_completion_retime.py
- test_config_auth.py
- test_config_debug.py
- test_config_extractor.py
- test_config_forced_segment.py
- test_config_libraries.py
- test_config_multilang.py
- test_config_retime.py
- test_config_store.py
- test_coverage.py
- test_coverage_audio_langs_payload.py
- test_coverage_cache_health.py
- test_coverage_characterization.py
- test_coverage_degraded_publish.py
- test_coverage_multi_instance.py
- test_coverage_multilingual.py
- test_coverage_radarr_id_lookup.py
- test_coverage_refresh_perf.py
- test_coverage_row_library_label.py
- test_coverage_series_intent.py
- test_coverage_sonarr_fanout_cap.py
- test_coverage_sticky_bucket.py
- test_coverage_verification_state.py
- test_crash_telemetry.py
- test_data_persistence.py
- test_db_backup_integrity.py
- test_db_durability.py
- test_db_integrity.py
- test_docker_discovery.py
- test_eager_probe.py
- test_enrichment.py
- test_entrypoint_chown_scope.py
- test_error_detail.py
- test_existing_audit.py
- test_existing_audit_service.py
- test_forced_segment_adapters.py
- test_forced_segment_detector.py
- test_forced_segment_feasibility.py
- test_forced_segment_gate.py
- test_forced_segment_lid.py
- test_forced_segment_router.py
- test_forced_segment_service.py
- test_forced_segment_srt.py
- test_forced_segment_store.py
- test_forced_segment_walker.py
- test_forced_segment_windowing.py
- test_forced_sub_gating.py
- test_infer_skip_reason.py
- test_instances.py
- test_instances_api.py
- test_integration_breaker.py
- test_integration_bundle_multi.py
- test_integration_contracts.py
- test_integration_credentials.py
- test_integration_versions.py
- test_integrations_health_probe.py
- test_jellyfin_client.py
- test_jellyfin_config.py
- test_jellyfin_surfacing.py
- test_jobs.py
- test_lang_normalization_118.py
- test_langs_table.py
- test_languages_endpoint.py
- test_libraries.py
- test_libraries_api.py
- test_library_binding_validation.py
- test_library_label.py
- test_library_probe.py
- test_lid.py
- test_lid_tune.py
- test_live_reload.py
- test_log_ring.py
- test_log_safe.py
- test_logging_hygiene.py
- test_login_throttle.py
- test_login_throttle_route.py
- test_logs_recent.py
- test_loop_lag.py
- test_manual_confirm.py
- test_media_probe.py
- test_media_server.py
- test_media_server_bundle.py
- test_migration_027_multilingual.py
- test_migration_matrix.py
- test_migrations.py
- test_mixed_language_series.py
- test_multi_instance_backcompat.py
- test_multilang_classifier.py
- test_multilang_tune.py
- test_multilib_walkers.py
- test_onboarding.py
- test_onboarding_clobber_guard.py
- test_onboarding_established.py
- test_override_suppression_multi_zxx.py
- test_parse_robust_detect_conf.py
- test_path_prefix_autodetect.py
- test_paths.py
- test_paths_library_for.py
- test_pending_feeder.py
- test_pending_ignore_forced.py
- test_pending_queue.py
- test_pending_queue_api.py
- test_pending_review_multilingual.py
- test_phase2_corpus.py
- test_phase2_metrics.py
- test_plex_audio_hints.py
- test_plex_partial_scan.py
- test_probe_failures.py
- test_probe_router.py
- test_progress_and_coverage_queue.py
- test_provenance_dedup.py
- test_provenance_watcher.py
- test_qe.py
- test_qe_onnx.py
- test_queue.py
- test_radarr_movie_coverage.py
- test_request_crash_capture.py
- test_requeue.py
- test_retention.py
- test_retime_tune.py
- test_root_folders.py
- test_scan.py
- test_schedule_preview.py
- test_schedule_rules_api.py
- test_schedule_store_rules.py
- test_scheduler_auto_queue.py
- test_security_hardening.py
- test_security_headers_and_cache.py
- test_series_lang_intent.py
- test_session_secret.py
- test_settle_window.py
- test_sidecar_scanner.py
- test_single_process_guard.py
- test_smoke.py
- test_subgen_capabilities.py
- test_subgen_capacity.py
- test_subgen_client.py
- test_subgen_config_gen.py
- test_subgen_forced_anyway.py
- test_subgen_hardware.py
- test_subgen_per_request_kwargs.py
- test_subgen_per_request_task.py
- test_subgen_restart_reconciliation.py
- test_subgen_setup_client.py
- test_subgen_setup_detection.py
- test_subgen_setup_router.py
- test_subgen_update_version.py
- test_subgen_webhook.py
- test_subs_ignored.py
- test_subtitle_readability.py
- test_subtitle_retime.py
- test_subtitle_sanitize.py
- test_task_health.py
- test_telemetry.py
- test_telemetry_disabled.py
- test_telemetry_metrics.py
- test_telemetry_onboarding.py
- test_tournament.py
- test_tournament_consensus.py
- test_tournament_harness.py
- test_tournament_qe.py
- test_tournament_validation.py
- test_track_mismatch.py
- test_track_mismatch_clearing.py
- test_track_swap.py
- test_transcript_signals.py
- test_update_checker.py
- test_update_checker_prune.py
- test_update_checker_vanilla.py
- test_update_nudge.py
- test_vad.py
- test_vad_router.py
- test_version.py
- test_vision_capability.py
- test_vision_ssrf.py
- test_writeback_routing.py
- test_zxx_language.py
- .dockerignore
- .git-blame-ignore-revs
- .gitattributes
- .gitignore
- .pre-commit-config.yaml
- CHANGELOG.md
- CLAUDE.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- dbg.sh
- deploy-to-dev.sh
- docker-entrypoint.sh
- Dockerfile
- LICENSE
- package-lock.json
- package.json
- pyproject.toml
- README.md
- RELEASING.md
- SECURITY.md
- verify.sh
- vitest.config.mjs
# Installation Guide
git clone https://github.com/coaxk/subarr
Downloads the entire project code from GitHub to your computer.
cd subarr
Moves into the project folder you just downloaded.
2. Docker
Easy Recommended- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose up -d
Builds and starts all defined containers (server, database, etc.) at once, in the background.
docker compose pull
Runs the command against the services defined in the compose file.
Pulled directly from this repo's README.
3. Node.js
Easynpm install && npm run build:frontend # SPA bundles
Downloads and installs the libraries listed in package.json.
Pulled directly from this repo's README.
4. Python
Easypython -m venv .venv && source .venv/bin/activate
Runs the Python script (or module).
pip install -e .[dev]
Installs the Python libraries listed in requirements.txt (or similar).
Pulled directly from this repo's README.
