Déploiement de Jellyfin avec Docker Compose¶
Jellyfin est un serveur multimédia open-source et gratuit qui organise vos films, séries, musique et photos, récupère automatiquement affiches et résumés, et vous permet de les streamer depuis n'importe quel appareil — TV, téléphone, tablette — chez vous ou à distance. Contrairement à Plex, aucun compte en ligne n'est requis et toutes les fonctionnalités sont disponibles sans abonnement.
Prérequis¶
- Docker et Docker Compose installés — voir Installation Docker
- Le port
8096disponible sur la machine hôte
1⃣ Arborescence recommandée¶
/opt/docker-compose/jellyfin/
├── docker-compose.yml
├── config/ # Base de données Jellyfin, métadonnées (généré automatiquement)
└── media/
├── films/
├── series/
├── musique/
└── photos/
Créer les dossiers avant le premier démarrage :
mkdir -p /opt/docker-compose/jellyfin/media/{films,series,musique,photos}
2⃣ Exemple de fichier docker-compose.yml¶
services:
jellyfin:
image: linuxserver/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
ports:
- "8096:8096"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- ./config:/config
- ./media/films:/data/films
- ./media/series:/data/series
- ./media/musique:/data/musique
- ./media/photos:/data/photos
PUID / PGID
Ces valeurs correspondent à l'utilisateur Linux propriétaire des fichiers média. Vérifier avec id <utilisateur> sur le serveur.
3⃣ Lancement¶
cd /opt/docker-compose/jellyfin
docker compose up -d
Jellyfin est prêt quand les logs affichent [INF] Startup complete :
docker compose logs -f
4⃣ Configuration initiale¶
Accédez à l'interface web depuis votre réseau local :
http://<IP_SERVEUR>:8096
Première configuration
L'assistant de démarrage doit être complété depuis le réseau local. Derrière un reverse proxy, il peut être inaccessible — connectez-vous d'abord en direct sur le port 8096.
Étapes de l'assistant :
- Choisir la langue
- Créer le compte administrateur (noter le mot de passe)
- Ajouter les bibliothèques en pointant vers les chemins montés dans le conteneur :
| Bibliothèque | Chemin dans le conteneur |
|---|---|
| Films | /data/films |
| Séries | /data/series |
| Musique | /data/musique |
| Photos | /data/photos |
- Désactiver l'accès à distance si souhaité (modifiable plus tard)
- Terminer — Jellyfin lance immédiatement le scan des médias
5⃣ Gestion des utilisateurs¶
Jellyfin gère les utilisateurs localement, sans compte en ligne obligatoire.
- Créer un utilisateur : Tableau de bord → Utilisateurs → +
- Droits d'accès : par utilisateur, choisissez quelles bibliothèques sont accessibles
- Administrateur : cocher "Autoriser cet utilisateur à gérer le serveur" dans les paramètres de l'utilisateur
6⃣ Gestion du service¶
| Action | Commande |
|---|---|
| Vérifier l'état | docker compose ps |
| Logs en direct | docker compose logs -f |
| Redémarrer | docker compose restart |
| Arrêter | docker compose down |
| Mettre à jour | docker compose pull && docker compose up -d |
| Nettoyage complet | docker compose down -v --rmi all --remove-orphans |
7⃣ Notes complémentaires¶
- Transcodage hardware (Intel iGPU) : ajouter dans
docker-compose.ymlet activer dans Tableau de bord → Lecture → Transcodage :devices: - /dev/dri:/dev/dri - Espace disque : Jellyfin génère des miniatures et des métadonnées dans
./config/. Prévoir plusieurs Go selon la taille de votre bibliothèque. Si l'espace disque est critique, vérifier avecdocker system dfet purger le cache de build Docker si nécessaire :docker builder prune -af - Clients : applications disponibles sur Android, iOS, Android TV, Apple TV, Roku, Kodi, Fire TV, navigateur web
- Sauvegardes : synchroniser
./config/(contient la base de données et les métadonnées) ainsi que vos dossiers médias
Conclusion¶
Jellyfin permet de centraliser l'ensemble de vos médias personnels sur un seul serveur et de les streamer sur tous vos appareils, sans abonnement ni compte en ligne. Une fois les bibliothèques configurées, la gestion est entièrement automatique : scraping des métadonnées et mises à jour de la bibliothèque.