4.2 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subatic | 2026-06-07 | 2026-06-07 | app |
|
medium | false |
|
🎬 Subatic
Gestionnaire de sous-titres self-hosted : téléchargement automatisé depuis OpenSubtitles, Subscene, gestion de langues multiples et synchronisation.
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | Subatic |
| Slug | app-subatic |
| Description | Outil de gestion de sous-titres multi-providers, intégré à Sonarr/Radarr/Jellyfin |
| Site officiel | https://subatic.app/ |
| Repository | https://github.com/subatic/subatic |
| Stars | 161 ⭐ |
| Licence | MIT |
| Langage principal | TypeScript (Node.js) |
| Catégorie | Media Streaming |
| Tags | [catalogue, media-streaming, subtitles, opensubtitles, gestion, nodejs] |
📝 Description
Subatic se positionne comme une alternative moderne à app-bazarr pour la gestion des sous-titres. Là où Bazarr est solide mais historiquement couplé à Sonarr/Radarr avec une UI vieillissante, Subatic propose une interface web plus moderne, un support natif de plusieurs providers (OpenSubtitles v1 + v2, Subscene, Addic7ed) et une gestion fine des langues par profil utilisateur.
L'application scanne une bibliothèque média, identifie chaque fichier, et télécharge automatiquement les sous-titres manquants dans la langue configurée (VF, VO, multi). Elle sait aussi réaligner un sous-titre décalé (sync) et notifier l'utilisateur via Discord ou app-ntfy.
Points forts : UI claire, multi-providers, webhooks Sonarr/Radarr, gestion des sous-titres forcés (forced). Limites : communauté plus restreinte que Bazarr, support natif moins large de certains providers exotiques.
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml
version: "3.8"
services:
subatic:
image: ghcr.io/subatic/subatic:latest
container_name: subatic
restart: unless-stopped
ports:
- "7878:7878"
environment:
- OPENSUBTITLES_API_KEY=*** - OPENSUBTITABLES_USERNAME=***
- OPENSUBTITLES_PASSWORD=***
- DEFAULT_LANGUAGES=fr,en
- MEDIA_PATHS=/media/films,/media/series
volumes:
- ./config:/app/config
- /media:/media:ro
Installation manuelle
git clone https://github.com/subatic/subatic
cd subatic
npm install
npm run build
node dist/server.js
⚙️ Configuration
- Provider : OpenSubtitles v2 (recommandé), Subscene, Addic7ed.
- Chemins média : pointer sur les dossiers films/séries (lecture seule).
- Langues par défaut : liste ISO 639-1 (
fr,en,es, etc.). - Stratégie :
best match(note la plus haute),first match(premier trouvé), ou score pondéré. - Webhook Sonarr/Radarr : URL
http://subatic:7878/webhookconfigurée dans les *arr.
🔗 Alternatives
- Bazarr — Référence historique, plus mature, plus d'intégrations.
- Subliminal (Python lib) — Pour scripter soi-même, sans UI.
- OpenSubtitles.com — Service web centralisé, sans auto-hébergement.
- Jellyfin OpenSubtitles plugin — Pour usage ponctuel, pas d'automatisation poussée.
🔒 Sécurité
- Clé API OpenSubtitles : à protéger comme un mot de passe, en variable d'environnement.
- Ne pas exposer l'UI sur Internet sans authentification (app-traefik + app-authentik).
- Logs : désactiver le logging des credentials (config par défaut normalement saine).
- Volumes média en
:ropour éviter qu'un bug n'écrive dans vos films.
📚 Ressources
- Repository : https://github.com/subatic/subatic
- Documentation : https://docs.subatic.app/
- OpenSubtitles API : https://opensubtitles.stoplight.io/
- Bazarr (référence) : https://www.bazarr.media/
🔗 Pages Liées
- cat-media-streaming (catégorie parente)
- app-bazarr — Alternative plus mature
- app-sonarr — Source de séries
- app-radarr — Source de films
- app-jellyfin — Lecteur média
- app-traefik — Reverse proxy HTTPS
- securisation-home-lab — Bonnes pratiques
- recettes-docker-compose — Templates