Cashier pour Jellyfin — guide d’installation
Installation
Il vous faut Jellyfin Server 12.2 ou plus récent et un compte MediaLab Works avec une licence qui couvre le plugin (un abonnement actif, une licence à vie dans sa période de mises à jour, le pack Jellyfin ou l’essai gratuit de 30 jours).
Depuis votre dépôt de plugins (recommandé). Jellyfin installe alors le plugin et ses mises à jour tout seul.
- Dans votre compte MediaLab Works, ouvrez Licences → Dépôt de plugins Jellyfin et cliquez sur Créer l’URL du dépôt. Copiez-la : elle est privée (elle contient un jeton), ne la partagez donc pas ; vous pouvez la régénérer ou la révoquer à tout moment.
- Dans Jellyfin, ouvrez Dashboard → Plugins → Repositories, cliquez sur +, donnez un nom au dépôt (par exemple MediaLab Works), collez l’adresse et enregistrez.
- Dans Dashboard → Plugins → Catalog, cherchez Cashier by MediaLab, cliquez sur Install, puis redémarrez Jellyfin.
Le dépôt ne liste que les plugins couverts par vos licences, et uniquement les versions qu’elles autorisent. Ses liens de téléchargement sont signés et expirent au bout de quelques heures, de sorte que Jellyfin lit toujours une liste à jour.
Depuis le catalogue public. https://medialab.works/jellyfin/manifest.json liste chaque plugin MediaLab Works publié avec sa version compilée publique ; medialab Server l’ajoute lui-même. Vous pouvez l’ajouter de la même manière pour installer un plugin avant d’avoir une clé : le plugin demande alors la licence, ou démarre l’essai, sur sa page License. Avec une licence à vie dont la période de mises à jour est terminée, restez sur votre dépôt privé, qui ne propose que les versions que votre licence autorise.
Manuellement, depuis un fichier zip.
- Dans Compte → Licences, téléchargez
jf-cashier_x.y.z.zip(le SHA-256 du fichier est indiqué à côté du bouton). - Extrayez-le dans un nouveau dossier
Cashier by MediaLab_x.y.z.0dans le dossier des plugins de Jellyfin :- Linux (paquet) :
/var/lib/jellyfin/plugins/ - Docker (image officielle) :
/config/plugins/dans le volume de configuration - Windows :
%ProgramData%\Jellyfin\Server\plugins\
- Linux (paquet) :
- Redémarrez Jellyfin.
Activation de la licence
- Ouvrez la page du plugin dans Dashboard → Plugins → Cashier by MediaLab et cliquez sur Open License page.
- Collez votre clé de licence et cliquez sur Activate with key. Le plugin contacte le serveur de licences, lie la clé à ce serveur Jellyfin et affiche la licence comme Active.
- Pas encore de clé ? Sur la même page, entrez votre e-mail et démarrez l’essai gratuit de 30 jours (carte requise, rien à payer aujourd’hui) ou achetez une licence ; le plugin s’active tout seul dès que le paiement est effectué.
La licence est vérifiée une fois par jour et à chaque démarrage de Jellyfin. Sans internet, le plugin continue de fonctionner pendant 7 jours après la dernière vérification réussie. Sans licence valide, le plugin cesse son travail et seule sa page License reste fonctionnelle (essai, clé, renouvellement) ; rien n’est supprimé et tout reprend dès que la licence redevient valide. Move license (release this server) sur la même page libère la clé pour un autre serveur.
Mises à jour et retour en arrière
- Depuis le dépôt : Jellyfin affiche les nouvelles versions dans Dashboard → Plugins et peut mettre à jour le plugin automatiquement ; redémarrez Jellyfin pour charger la nouvelle version.
- Depuis la page License du plugin : avec une licence valide, Install update installe la version la plus récente autorisée par votre licence et Roll back to x.y.z revient à la version précédente (par exemple si quelque chose a cessé de fonctionner après une mise à jour). Redémarrez Jellyfin après l’une ou l’autre opération. Les deux paquets sont vérifiés par rapport à la somme de contrôle publiée par le serveur de licences.
- Une licence à vie reçoit les versions publiées pendant sa période de mises à jour ; ensuite, le plugin continue de fonctionner avec la dernière version qu’il est autorisé à utiliser.
- Après Roll back to x.y.z, la mise à jour automatique de ce plugin par Jellyfin est désactivée jusqu’au prochain Install update sur la page License, de sorte que la tâche planifiée Update Plugins (au démarrage et chaque jour) ne réinstalle pas la version plus récente.
- Licence à vie et mises à jour automatiques. Le catalogue public Jellyfin (
https://medialab.works/jellyfin/manifest.json) propose toujours la version la plus récente. Quand la période de mises à jour d’une licence à vie est terminée, les versions publiées après celle-ci ne sont pas sous licence : si les mises à jour automatiques de plugins de Jellyfin en installent une, le plugin s’arrête avec « version not licensed » jusqu’à ce que vous reveniez en arrière avec Roll back to x.y.z sur sa page License ou achetiez un pass de mises à jour. Pour l’éviter, ne laissez pas Jellyfin mettre ce plugin à jour automatiquement : ajoutez votre dépôt de plugins privé, qui ne propose que les versions que votre licence autorise, à la place du catalogue public, ou retirez les déclencheurs de la tâche planifiée Update Plugins dans Dashboard → Scheduled Tasks (cela arrête les mises à jour automatiques pour tous les plugins).
Code source
Le code source GPL-3.0 de chaque version se trouve dans Compte → Licences (Code source), à côté du téléchargement, sous forme d’archive .tar.gz créée à partir du commit exact de cette version.
Configuration
Installez et licencez d’abord Registration by MediaLab, configurez son adresse publique et son SMTP, puis ouvrez Dashboard → Cashier.
- Keys : collez votre clé secrète Stripe (
sk_…, ou mieux une clé restreinterk_…), cliquez sur Save and test, puis Create the webhook automatically. - Définissez le nom du service affiché aux clients et l’adresse publique du serveur (par exemple
https://jellyfin.example.com), utilisée pour le retour depuis Stripe et pour le webhook. - Vérifiez les formules (période, flux simultanés, prix) et cliquez sur Save and send to Stripe : les prix sont créés dans votre compte Stripe. Un prix modifié crée un nouveau prix Stripe ; les abonnés existants gardent le leur jusqu’à ce qu’ils changent de formule.
- Définissez les jours d’essai et le délai de grâce, puis activez la vente.
Utilisation quotidienne
- Les nouveaux clients choisissent une formule sur la page d’inscription et paient ; leur compte est activé quand Stripe confirme le paiement.
- Les listes Subscribers et Payments montrent qui paie quoi ; le journal montre chaque changement d’état.
- Désactiver la vente laisse chaque compte tel quel.
Dépannage
- Les paiements n’activent pas les comptes : le webhook ne peut pas atteindre le serveur. Vérifiez que l’adresse publique est joignable en HTTPS depuis internet ; Cashier réconcilie aussi avec Stripe toutes les 15 minutes.
- Pas d’e-mails aux clients : vérifiez les paramètres SMTP de Registration.
Droits sur le contenu
Cashier prélève vos utilisateurs via votre propre compte Stripe. Vous êtes seul responsable de détenir les droits sur le contenu ou le service facturé (par exemple les films, séries ou chaînes de votre serveur) ; MediaLab Works fournit uniquement le logiciel et n’est pas partie à vos ventes. Stripe peut fermer ou restreindre un compte qui facture du contenu sans en détenir les droits — voir la liste des activités restreintes de Stripe.