Jellyfin vs Plex : quel serveur multimédia auto-hébergé ?

Comparatif8 min de lecture8 étapes

Les abonnements aux plateformes de streaming s'accumulent et vous perdez le contrôle de votre médiathèque. Héberger Jellyfin ou Plex sur un VPS coûte une fraction de ces abonnements et vous rend propriétaire de chaque fichier. Ce guide compare les deux serveurs sur tous les critères qui comptent, vous guide pas à pas dans le déploiement et couvre les erreurs les plus fréquentes — y compris la migration vers Jellyfin 12, sorti en septembre 2026, qui introduit des changements incompatibles avec les versions précédentes.

Sommaire· Pourquoi héberger son serveur multimédia sur un VPS1/6
  1. 01Pourquoi héberger son serveur multimédia sur un VPS
  2. 02Ce que vous gagnez en l'hébergeant vous-même
  3. 03Prérequis pour un VPS media-server
  4. 04Déployer Jellyfin (ou Plex) avec Docker et reverse proxy
  5. 05Jellyfin 12 : ce qui change et comment migrer
  6. 06Dépannage : les erreurs les plus fréquentes

Pourquoi héberger son serveur multimédia sur un VPS

Un serveur multimédia auto-hébergé sur VPS fait de vous le propriétaire de votre catalogue : films, séries, musique et photos restent accessibles en HTTPS depuis un navigateur, une Smart TV ou un smartphone, sans quota imposé et sans analyse de vos habitudes.

Contrairement à une machine domestique, un VPS dispose d'une bande passante montante stable indispensable au streaming à distance, d'une IP fixe pour configurer un domaine, et d'une disponibilité permanente sans surcoût d'électricité. Votre médiathèque ne dépend plus de la connexion ni du matériel de chez vous.

Jellyfin est entièrement libre (licence GPL) sans aucune fonctionnalité payante. Plex offre une expérience client plus soignée mais réserve le transcodage matériel et l'accès distant derrière un abonnement Plex Pass. Le choix se joue donc entre liberté totale et commodité préconfigurée.

Ce que vous gagnez en l'hébergeant vous-même

  • Accès à distance en HTTPS sans passer par un relais externe ni exposer votre contenu à un tiers
  • Aucune limite sur le nombre de comptes, de flux simultanés ou la taille de la bibliothèque
  • Transcodage à la volée piloté par vos propres ressources VPS (CPU ou GPU)
  • Sous-titres, métadonnées et jaquettes récupérés automatiquement et stockés sur votre serveur
  • Avec Jellyfin : zéro fonctionnalité payante, aucune télémétrie, code source auditable
  • Sauvegarde et migration triviales : tout tient dans un volume Docker et un dossier media
  • Support DLNA natif pour diffuser vers des TV et lecteurs réseau sans client dédié

Prérequis pour un VPS media-server

Pour le streaming direct (remux sans ré-encodage), un VPS à 2 vCPU et 2 Go de RAM suffit. Dès que vous activez le transcodage logiciel d'un flux 1080p, comptez 4 vCPU et 4 Go ; pour plusieurs flux 4K simultanés, visez 6 à 8 vCPU. Le transcodage matériel (QSV, NVENC) reste rare sur les VPS partagés : privilégiez les fichiers déjà compatibles avec vos clients pour rester en Direct Play.

Côté stockage, prévoyez un volume généreux et idéalement un disque rapide pour les métadonnées. Vous aurez besoin de Docker et Docker Compose installés, d'un sous-domaine (ex. media.mondomaine.com) pointant vers l'IP du VPS, et d'un reverse proxy pour le TLS.

Déployer Jellyfin (ou Plex) avec Docker et reverse proxy

  1. Préparer l'arborescence et les volumes

    Sur le VPS, créez mkdir -p /srv/jellyfin/{config,cache} et un dossier media /srv/media/{films,series,musique}. Ces chemins seront montés en volumes pour persister la configuration et séparer proprement le contenu de la base de données.

  2. Rédiger le docker-compose.yml

    Déclarez le service jellyfin/jellyfin (ou plexinc/pms-docker), montez ./config, ./cache et /srv/media en lecture seule, et exposez le port 8096 (Jellyfin) ou 32400 (Plex) uniquement en local : 127.0.0.1:8096:8096. Le reverse proxy gérera l'exposition publique.

  3. Démarrer le conteneur

    Lancez docker compose up -d, puis suivez docker compose logs -f. Accédez à l'assistant de configuration via un tunnel SSH ssh -L 8096:127.0.0.1:8096 user@vps pour créer le compte administrateur avant toute exposition publique.

  4. Configurer le transcodage

    Dans l'interface Jellyfin, allez dans Tableau de bord → Lecture et définissez le chemin du transcodage sur /config/transcodes. Si votre VPS est limité en CPU, forcez le Direct Play et refusez le transcodage automatique : l'interface affichera une erreur pour les fichiers incompatibles plutôt que de saturer le serveur. Pour Plex, la même option se trouve dans Paramètres → Lecture distante.

  5. Mettre en place le reverse proxy et le SSL

    Configurez Caddy ou Nginx pour proxifier media.mondomaine.com vers 127.0.0.1:8096. Avec Caddy, deux lignes suffisent et le certificat Let's Encrypt est automatique. Pensez à transmettre les en-têtes WebSocket pour la lecture en temps réel. Attention avec Jellyfin 12 : les anciens préfixes /emby/ et /mediabrowser/ ont été supprimés — si vous aviez configuré votre reverse proxy sur ces chemins, mettez-le à jour pour pointer vers la racine /.

  6. Sécuriser l'accès avec l'authentification Jellyfin

    Jellyfin gère nativement l'authentification : activez une politique de mot de passe fort et limitez le nombre de tentatives dans Tableau de bord → Sécurité. Pour Plex sans Plex Pass, l'accès distant nécessite de configurer une redirection de port sur votre réseau — sur VPS, le reverse proxy suffit et est préférable. N'ouvrez jamais le port 8096 ou 32400 directement sur le pare-feu : seuls les ports 80/443 doivent être accessibles.

  7. Indexer les bibliothèques

    Dans l'interface, ajoutez les dossiers /media/films et /media/series, choisissez l'agent de métadonnées, et lancez le scan. Vérifiez qu'un fichier se lit en Direct Play depuis un client externe pour confirmer que le proxy et les codecs sont corrects.

  8. Sauvegarder la configuration

    La sauvegarde de Jellyfin se résume à deux éléments : le dossier ./config (base de données, plugins, préférences) et vos fichiers media. Automatisez un tar -czf jellyfin-config-$(date +%Y%m%d).tar.gz ./config quotidien et synchronisez vers un stockage distant. Pour Plex, le dossier Plex Media Server/ contient l'équivalent. Testez la restauration sur un environnement de test avant d'en avoir besoin.

Jellyfin 12 : ce qui change et comment migrer

Jellyfin 12 est sorti le 7 septembre 2026. Ce saut de version — de 10.11.x directement à 12 — reflète l'ampleur des changements incompatibles introduits.

Suppression des préfixes d'API hérités. Les routes /emby/ et /mediabrowser/ ont été définitivement retirées. Tout client tiers ou script qui les utilisait (Infuse en mode Emby, certains plugins Kodi, intégrations Home Assistant) doit être mis à jour pour pointer vers la racine /. Vérifiez chaque application cliente avant de migrer.

Migration de base de données irréversible. Jellyfin 12 remplace son schéma SQLite par une structure relationnelle restructurée. La migration s'exécute automatiquement au premier démarrage et ne peut pas être annulée. Sauvegardez intégralement le dossier config/ — notamment data/jellyfin.db — avant de lancer la mise à jour du conteneur. Une restauration implique de revenir à l'image Docker de la version précédente.

Incompatibilité des plugins 10.11. Les plugins développés pour Jellyfin 10.11 ne sont pas compatibles avec Jellyfin 12. Vérifiez la compatibilité de chaque plugin dans le catalogue officiel avant de migrer, ou désactivez-les le temps que les mainteneurs publient des versions mises à jour.

Migration directe supportée. Les mises à jour depuis 10.10.7 et 10.11.x vers 12 sont supportées — pas besoin de réinstaller depuis zéro. Tirez simplement la nouvelle image Docker, après sauvegarde.

Faites défiler le tableau

CritèreJellyfinPlex
Licence / coûtLibre (GPL), 100 % gratuitFreemium, Plex Pass payant pour les fonctionnalités clés
Transcodage matérielInclus et gratuitRéservé aux abonnés Plex Pass
Accès distantDirect via votre reverse proxyPasse par les relais Plex (ou Pass)
ConfidentialitéAucune télémétrie, tout reste chez vousCompte Plex et métadonnées centralisés
Qualité des clients (TV, mobile)Bonne, en progression constanteTrès soignée et stable
Support DLNANatif, sans configurationPrésent, moins configurable
Plugins et extensionsCatalogue communautaire riche, évolutifPlus fermé, fonctionnalités intégrées
Applications mobilesGratuites (Android, iOS)Gratuites avec pub, Pass pour les téléchargements
CommunautéTrès active, open source, forums et MatrixActive, forum officiel, moins ouvert
ChromecastSupporté via l'app mobileSupporté nativement
Configuration initialeQuelques réglages manuelsAssistant très guidé

Dépannage : les erreurs les plus fréquentes

Transcodage qui échoue silencieusement. Le lecteur affiche une erreur générique ou la vidéo ne démarre pas. Première vérification : dans Tableau de bord → Journaux, filtrez sur Transcod. Si vous voyez ffmpeg not found ou Permission denied sur le dossier de transcodage, le conteneur ne trouve pas le binaire ou n'a pas accès au dossier /config/transcodes. Vérifiez que le volume est bien monté en écriture et que l'image Docker utilisée est bien jellyfin/jellyfin (pas un fork non maintenu).

Erreur « no hardware acceleration ». Sur un VPS sans GPU dédié, l'accélération matérielle (VAAPI, QSV, NVENC) n'est pas disponible. L'erreur apparaît dans les journaux si vous avez activé une option de transcodage matériel que le serveur ne peut pas honorer. Désactivez-la dans Tableau de bord → Lecture → Transcodage matériel et repassez en transcodage logiciel, ou forcez le Direct Play.

Accès distant bloqué derrière un reverse proxy (préfixe de chemin). Si vous servez Jellyfin sous un sous-chemin comme mondomaine.com/media/, les ressources statiques et l'API ne se chargent pas correctement. Jellyfin recommande un sous-domaine dédié (media.mondomaine.com) plutôt qu'un sous-chemin. Si le sous-chemin est incontournable, configurez baseUrl dans network.xml et assurez-vous que votre reverse proxy transmet le chemin complet sans le réécrire.

Synchronisation des métadonnées qui boucle. Le scan de bibliothèque tourne indéfiniment sans progresser. Causes courantes : permissions insuffisantes sur le dossier media (Jellyfin doit pouvoir lire les fichiers), nommage des fichiers non conforme au standard Titre (Année).mkv, ou problème de connectivité vers les agents de métadonnées distants. Consultez les journaux de tâche planifiée dans Tableau de bord → Tâches planifiées pour identifier quelle étape bloque.

Pour éviter de saturer le CPU de votre VPS, standardisez votre bibliothèque en H.264/AAC dans un conteneur MP4 ou MKV. Un simple script ffmpeg de remux (sans ré-encodage, option -c copy) reconditionne vos fichiers en quelques secondes et soulage le serveur durablement, notamment sur un VPS sans GPU. Cette opération ne touche pas la qualité vidéo : elle change uniquement le contenant, pas le contenu.

Déployez votre media-server en quelques minutes

Lancez un VPS Cloud ServOrbit avec un template Docker préconfiguré et faites tourner Jellyfin ou Plex avec reverse proxy et SSL automatique, sans quitter votre tableau de bord.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet