Comment configurer le stockage des enregistrements TV en direct sans remplir les données de l’application

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Les enregistrements TV en direct sont des fichiers multimédias volumineux et durables ; les données de l’application sont de petits états sensibles à la latence, nécessaires au démarrage et à la gestion du serveur. Lorsque les deux partagent un volume de conteneur, un seul enregistrement peut épuiser l’espace requis par la base de données, les journaux et les mises à niveau.

La conception sûre consiste à attribuer aux enregistrements leur propre jeu de données ou partage hôte, à le monter dans le conteneur et à configurer le paramètre DVR avec le chemin du conteneur. L’espace de travail temporaire du transcodage constitue une troisième classe de données et ne doit pas basculer discrètement dans le volume de configuration.

Séparez les trois rôles de stockage

Identifiez le chemin de configuration persistant, la bibliothèque d’enregistrements et l’espace de travail du transcodage ou du timeshift. Notez leurs chemins hôte et conteneur dans une petite table de correspondance ; modifier uniquement le champ du tableau de bord ne suffit pas si le conteneur ne peut pas accéder à la destination.

Conservez la configuration sur un stockage fiable bénéficiant d’une sauvegarde normale. Placez les enregistrements sur un stockage axé sur la capacité, capable d’absorber le débit d’écriture prévu, et placez les données temporaires du transcodage à un emplacement où elles ne risquent pas de réduire l’espace disponible pour la base de données.

Estimez un enregistrement dans le pire des cas, et non un épisode moyen. Multipliez le débit binaire du flux du tuner par la durée planifiée la plus longue, ajoutez les enregistrements simultanés et conservez une marge d’espace libre opérationnelle pour le système de fichiers et le comportement de l’application.

Montez une destination dédiée aux enregistrements

Créez un répertoire ou un jeu de données hôte tel que /srv/media/recordings et montez-le dans le conteneur à un emplacement explicite tel que /recordings. Utilisez un montage bind ou un volume géré qui persiste lorsque le conteneur est recréé.

Faites correspondre le propriétaire et les autorisations à l’UID et au GID utilisés par le processus Jellyfin. Une destination visible mais non accessible en écriture produit souvent une erreur d’autorisation et peut inciter un opérateur à revenir au chemin de données d’application par défaut.

Un rapport de la communauté concernant un échec des autorisations du chemin d’enregistrement montre pourquoi la visibilité seule ne constitue pas un test suffisant. Créez et supprimez un petit fichier en tant qu’utilisateur du conteneur avant de programmer une véritable émission.

Dirigez les chemins DVR et temporaires vers leurs volumes prévus

Dans les paramètres TV en direct ou DVR, définissez le chemin d’enregistrement sur le montage d’enregistrement visible par le conteneur, et non sur le chemin hôte. Si votre version installée prend en charge des destinations distinctes pour les films et les séries, conservez-les toutes deux dans le même jeu de données d’enregistrements géré selon la capacité, sauf raison particulière de les séparer.

Définissez le chemin de transcodage sur un montage temporaire dédié disposant d’une capacité à court terme suffisante. Ne placez pas les enregistrements dans le répertoire de transcodage : les données temporaires peuvent être supprimées de manière agressive, tandis que les enregistrements terminés sont des données utilisateur.

Si vous utilisez un post-traitement, le fonctionnement du post-traitement Jellyfin transmet le chemin de l’enregistrement terminé au script. Assurez-vous que le script voit le même chemin monté et qu’il ne peut pas déplacer accidentellement un fichier dans le volume de l’application.

Testez les situations d’échec et ajoutez une protection de capacité

Démarrez un court enregistrement manuel, vérifiez que sa taille augmente sur le jeu de données d’enregistrements, arrêtez-le, puis lisez le résultat. Redémarrez le conteneur et répétez la lecture pour prouver que le montage est persistant, plutôt qu’une couche de conteneur anonyme.

Configurez une alerte sur le nombre d’octets libres ou le pourcentage utilisé, à la fois pour le jeu de données d’enregistrements et pour le volume de données d’application. Les règles de conservation sont utiles, mais elles ne remplacent pas une alerte, car un nettoyage échoué, des programmations en double et des événements exceptionnellement longs peuvent rendre une estimation incorrecte.

Sauvegardez séparément le petit volume de configuration et les enregistrements volumineux. La liste de contrôle pour la mise hors service de Jellyfin fournit un modèle d’inventaire utile pour distinguer l’état essentiel des composants remplaçables du serveur multimédia.

Assistance et conseils

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.