Pourquoi héberger son serveur multimédia sur un VPS
Un media-server auto-hébergé sur VPS vous rend propriétaire de votre catalogue : films, séries, musique et photos restent accessibles en HTTPS depuis le navigateur, une Smart TV ou un smartphone, sans quota impose ni analyse de vos habitudes. Contrairement à une machine domestique, le VPS dispose d'une bande passante montante stable indispensable au streaming à distance, d'une IP fixe pour configurer un domaine et d'une disponibilité 24/7 sans surcoût d'électricité. Jellyfin est entièrement libre (licence GPL) et sans aucune fonction payante ; Plex offre une expérience clients plus polie mais verrouille le transcodage matériel et l'accès distant derrière un abonnement Plex Pass. Le choix se joue donc entre liberté totale et confort préconfiguré.
Ce que vous gagnez en l'hébergeant vous-même
- Accès distant en HTTPS sans passer par un relais externe ni en exposer vos contenus à un tiers
- Aucune limite de comptes, de flux simultanés ni de taille de bibliothèque
- Transcodage à la volée pilote par vos propres ressources VPS (CPU ou GPU)
- Sous-titres, métadonnées et jaquettes récupérés automatiquement et stockés chez vous
- Avec Jellyfin : zéro fonction payante, pas de télémétrie, code source auditable
- Sauvegarde et migration triviales : tout tient dans un volume Docker et un dossier media
Prérequis pour un VPS media-server
Pour du streaming direct (remux sans réencodage) un VPS 2 vCPU et 2 Go de RAM suffit. Des 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 VPS mutualisé : privilégiez des fichiers déjà compatibles avec vos clients pour rester en Direct Play. Cote stockage, prévoyez un volume généreux et idéalement un disque rapide pour les métadonnées. Il vous faut Docker et Docker Compose installés, un sous-domaine (ex : media.votredomaine.com) pointe vers l'IP du VPS, et un reverse proxy pour le TLS.
Déployer Jellyfin (ou Plex) avec Docker et reverse proxy
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 clairement les contenus de la base.
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 se chargera de l'exposition publique.
Démarrer le conteneur
Lancez docker compose up -d puis suivez docker compose logs -f. Accédez à l'assistant via un tunnel SSH ssh -L 8096:127.0.0.1:8096 user@vps pour créer le compte admin avant toute exposition publique.
Mettre en place le reverse proxy et le SSL
Configurez Caddy ou Nginx pour proxifier media.votredomaine.com vers 127.0.0.1:8096. Avec Caddy, deux lignes suffisent et le certificat Let's Encrypt est automatique ; pensez à relayer les en-têtes WebSocket pour la lecture en temps réel.
Indexer vos 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.
Sécuriser l'accès
Activez l'authentification forte, limitez le nombre de tentatives, et n'ouvrez sur le pare-feu que les ports 80/443. Le port applicatif ne doit jamais être joignable directement depuis Internet.
| Critère | Jellyfin | Plex |
|---|---|---|
| Licence / coût | Libre (GPL), 100% gratuit | Freemium, Plex Pass payant pour les fonctions clés |
| Transcodage matériel | Inclus et gratuit | Réservé aux abonnes Plex Pass |
| Accès distant | Direct via votre reverse proxy | Passe par les relais Plex (ou Pass) |
| Confidentialité | Aucune télémétrie, tout reste chez vous | Compte Plex et métadonnées centralisés |
| Qualité des clients (TV, mobile) | Bonne, en progression | Très aboutie et stable |
| Catalogue de plugins | Riche et communautaire | Plus ferme, fonctions intégrées |
| Configuration initiale | Quelques réglages manuels | Assistant très guide |
| Live TV / DVR | Inclus | Inclus (selon Pass) |
Pour éviter de saturer le CPU de votre VPS, désactivez le transcodage 'automatique' et imposez le Direct Play en standardisant votre bibliothèque en H.264/AAC dans un conteneur MP4 ou MKV. Un simple script ffmpeg de remux (sans réencodage, -c copy) reconditionne vos fichiers en quelques secondes et soulage durablement le serveur, surtout sur un VPS sans GPU.