109 lines
4.8 KiB
Markdown
109 lines
4.8 KiB
Markdown
---
|
|
title: Tunarr
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, media-streaming, tunarr, iptv, m3u, transcoding]
|
|
confidence: high
|
|
contested: false
|
|
sources:
|
|
- https://selfh.st/apps/?tag=Media+Streaming
|
|
- https://github.com/Tunarr/Tunarr
|
|
- https://tunarr.com/
|
|
---
|
|
|
|
# 🎬 Tunarr
|
|
|
|
> Créateur de chaînes IPTV personnalisées à partir de ta bibliothèque Plex/Jellyfin/Emby : transforme ton contenu en flux 24/7 façon "live TV".
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | Tunarr |
|
|
| **Slug** | app-tunarr |
|
|
| **Description** | Génère des chaînes IPTV (M3U + XMLTV) à partir d'une bibliothèque locale ou distante, avec programmation type grille TV |
|
|
| **Site officiel** | https://tunarr.com/ |
|
|
| **Repository** | https://github.com/Tunarr/Tunarr |
|
|
| **Stars** | 2 352 ⭐ |
|
|
| **Licence** | AGPL-3.0 |
|
|
| **Langage principal** | TypeScript (Node.js) |
|
|
| **Catégorie** | Media Streaming |
|
|
| **Tags** | [catalogue, media-streaming, tunarr, iptv, m3u, transcoding] |
|
|
|
|
## 📝 Description
|
|
|
|
Tunarr (anciennement "Autobahn") résout un cas d'usage original : transformer une bibliothèque Jellyfin/Plex/Emby en chaîne TV linéaire, avec grille de programmes, enchaînement automatique, inserts publicitaires fictifs, et exposition en M3U/XMLTV vers n'importe quel client IPTV (Jellyfin Live TV, Plex DVR, Kodi, Tivimate, etc.).
|
|
|
|
Le principe : tu déclares un "média source" (Jellyfin, Plex, Emby, dossier local), tu définis une ou plusieurs chaînes avec un planning (exemple : "films SF le lundi, séries le mardi, documentaires le week-end"), tu choisis l'ordre de lecture (aléatoire, séquentiel, pondéré, par genre), et Tunarr expose le tout comme un flux IPTV classique. Les chaînes peuvent être en 24/7 avec un programme d'appoint pour combler les trous.
|
|
|
|
Le transcodage à la volée (ffmpeg) gère la conversion en HLS/MPEG-TS pour des clients hétérogènes. Les médias sont lus en direct, l'utilisateur a l'impression de regarder une vraie chaîne TV, alors que c'est une playlist géante auto-générée. Limites : la configuration est un peu austère au début, l'UI web est jeune, et la documentation de l'API est encore en progression.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: "3.8"
|
|
|
|
services:
|
|
tunarr:
|
|
image: ghcr.io/tunarr/tunarr:latest
|
|
container_name: tunarr
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8000:8000" # Interface web + API
|
|
environment:
|
|
TUNARR_DB_PATH: /db/tunarr.db
|
|
TUNARR_CACHE_PATH: /cache
|
|
volumes:
|
|
- ./config:/config
|
|
- ./db:/db
|
|
- ./cache:/cache
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
Node 20+, ffmpeg 6+. Cloner le repo, `pnpm install`, `pnpm build`, lancer `node dist/server.js`. L'UI est servie par le même process sur le port 8000.
|
|
|
|
## ⚙️ Configuration
|
|
|
|
- **Sources** : ajouter une source Jellyfin (URL + token) ou Plex (URL + X-Plex-Token). Tester la connexion.
|
|
- **Chaînes** : créer une chaîne, lui assigner un nom, un numéro, une icône, un fuseau horaire.
|
|
- **Programmation** : choisir l'ordre de lecture (aléatoire, par genre, par show, par saison). Définir un planning hebdo (chaque jour a son template).
|
|
- **Clients** : générer l'URL M3U (par défaut `http://tunarr:8000/playout/m3u`). Importer dans Jellyfin (Live TV > Add M3U).
|
|
- **Transcodage** : choisir le profil par défaut (copy = pas de transcodage, transcode = H264/AAC 720p, etc.).
|
|
- **Filler** : configurer un média de remplissage pour les heures creuses.
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **ErsatzTV** — Concept similaire (.NET), plus mature, mais plus complexe à configurer.
|
|
- **xTeVe** — Plus ancien, peu de maintenance, mais nombreuses intégrations.
|
|
- **Threadfin** — Proxy IPTV (XMLTV + M3U), complémentaire à Tunarr.
|
|
- **m3u-proxy / dispatcharr** — Outils d'agrégation, ne créent pas de chaînes à partir de bibliothèque locale.
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- Placer derrière [[app-traefik]] avec auth SSO (Authelia/Authentik) — les flux IPTV doivent rester privés.
|
|
- L'API Tunarr permet l'ajout de sources : sécuriser avec mot de passe admin fort.
|
|
- Les flux M3U n'ont pas d'authentification par défaut : restreindre par IP ou par reverse proxy.
|
|
- Vérifier que le dossier `cache` n'est pas trop volumineux (peut gonfler avec les transients).
|
|
|
|
## 📚 Ressources
|
|
|
|
- Site officiel : https://tunarr.com/
|
|
- Repository : https://github.com/Tunarr/Tunarr
|
|
- Documentation : https://tunarr.com/docs
|
|
- Discord : https://discord.gg/tunarr
|
|
|
|
## 🔗 Pages Liées
|
|
|
|
- [[cat-media-streaming]] (catégorie parente)
|
|
- [[app-jellyfin]] — Source de bibliothèque typique
|
|
- [[app-plex]] — Source alternative
|
|
- [[app-tvheadend]] — Backend IPTV complémentaire
|
|
- [[app-traefik]] — Reverse proxy
|
|
- [[recettes-docker-compose]] — Templates
|
|
- [[securisation-home-lab]] — Bonnes pratiques
|