Bonjour,
Voici un petit tuto, pour ceux qui souhaiterai installer JellyWatchWise en Docker.
JellyWatchWise, c'est quoi ?
JellyWatchWise est une application Python conçue pour vous aider à gérer et à faire respecter les limites de temps de visionnage pour les utilisateurs qui accèdent à votre serveur Jellyfin. En s'intégrant à l'API Jellyfin, l'application surveille le temps de visionnage total des utilisateurs et restreint l'accès aux médiathèques lorsque les limites de temps définies sont dépassées.
Retrouvez plus d'informations sur JellyWatchWise ici : https://github.com/Joker-KP/jelly-watch-wise
Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert de docker/docker compose, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...
Pour un support sur JellyWatchWise ne concernant pas une installation via ce tutoriel, merci de poster votre question dans Applications.
Pré-requis :
Avoir Docker et Docker Compose installé sur sa machine, voir [Tuto] Installation de Docker, Docker-compose et Portainer sur Debian 11
Et avoir un serveur Jellyfin, forcément
A modifier selon votre installation :
Toute mon installation, va ce faire dans un dossier "jellywatchwise " inclus dans mon dossier "docker"
Je vais donc installer JellyWatchWise dans
Sommaire :
1/ Création des dossiers nécessaire
2/ Récupérer la clé API
3/ Création & Configuration du fichier de configuration
4/ Création & Configuration du fichier "docker-compose.yml"
5/ Création et démarrage du conteneur
6/ Accès a JellyWatchWise
Annexe 1 : Connaitre l'ID d'un utilisateur
Annexe 2 : Fonctionnement et Limitations de JellyWatchWise
Aller go
1/ Création des dossiers nécessaire
Sur le NAS nous allons devoir créer un dossier jellywatchwise contenant un dossier config.
En SSH, avec la commande
Vous pouvez aussi créer le dossier jellywatchwise, contenant un dossier config avec cette commande :
Ensuite, avec la commande
Note : A partir de maintenant, toutes les commandes du tutoriel partirons du principe que vous les exécuter depuis le dossier /jellywatchwise
2/ Récupérer la clé API
le plugin Playback Reporting est obligatoire pour le fonctionnement de JellyWatchWise. Assurez vous que le plugin est bien présent sur votre serveur Jellyfin.
Ensuite pour récupérer la clé API, rendez vous dans l'interface d'administration :
[OUPS TUTO EN COURS]
3/ Création & Configuration du fichier de configuration
Dans le dossier config, nous allons créer un fichier config.yaml avec la configuration de notre instance JellyWatchWise.
Vous pouvez créer et modifier ce fichier avec la commande :
Voici un exemple :
Ce que vous devez modifier :
-
-
-
Il faut comprendre que par défaut, tous les utilisateurs sont limités par cela. En dessous nous allons voir comment appliquer une limite personnalisée pour certains utilisateurs, et comment exclure des utilisateurs du systeme de limitation.
-
* Pour connaitre des IDs des utilisateurs, voir l'annexe 1. ( en cours de rédaction ).
[OUPS TUTO EN COURS]
4/ Création & Configuration du fichier "docker-compose.yml"
Nous allons maintenant créer le fichier docker-compose.yml, c'est lui qui contiendra la configuration de notre conteneur.
Pour le créer nous exécutons la commande suivante :
L'éditeur s'ouvre, dedans nous allons copier/coller le code suivant :
Vous pouvez ensuite quitter l'éditeur avec Ctrl+X et confirmer les modifications.[/B]
5/ Création et démarrage du conteneur
Rappel : Nous sommes toujours en SSH, dans notre dossier jelly-watch-wise
Pour créer le conteneur et le démarrer exécuter la commande suivante :
Note : Si vous exécuter une veille version de docker-compose ( version 1 ) , la commande sera :
Note 2 : Les commandes docker doivent s’exécuter avec les droits root
Si la commande vous retourne "done" ou "Running", c'est que le conteneur est bien lancé !
6/ Accès a JellyWatchWise
Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 5057 pour se connecter a l'interface Web de JellyWatchWise.
Exemple : Si l'ip de votre NAS est 192.168.1.20 alors l'adresse est http://192.168.1.20:5057

ANNEXES a venir ....

Voici un petit tuto, pour ceux qui souhaiterai installer JellyWatchWise en Docker.
JellyWatchWise, c'est quoi ?

JellyWatchWise est une application Python conçue pour vous aider à gérer et à faire respecter les limites de temps de visionnage pour les utilisateurs qui accèdent à votre serveur Jellyfin. En s'intégrant à l'API Jellyfin, l'application surveille le temps de visionnage total des utilisateurs et restreint l'accès aux médiathèques lorsque les limites de temps définies sont dépassées.
Retrouvez plus d'informations sur JellyWatchWise ici : https://github.com/Joker-KP/jelly-watch-wise
Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert de docker/docker compose, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...
Pour un support sur JellyWatchWise ne concernant pas une installation via ce tutoriel, merci de poster votre question dans Applications.
Pré-requis :
Avoir Docker et Docker Compose installé sur sa machine, voir [Tuto] Installation de Docker, Docker-compose et Portainer sur Debian 11
Et avoir un serveur Jellyfin, forcément

A modifier selon votre installation :
Toute mon installation, va ce faire dans un dossier "jellywatchwise " inclus dans mon dossier "docker"
Je vais donc installer JellyWatchWise dans
docker/jellywatchwise
Sommaire :
1/ Création des dossiers nécessaire
2/ Récupérer la clé API
3/ Création & Configuration du fichier de configuration
4/ Création & Configuration du fichier "docker-compose.yml"
5/ Création et démarrage du conteneur
6/ Accès a JellyWatchWise
Annexe 1 : Connaitre l'ID d'un utilisateur
Annexe 2 : Fonctionnement et Limitations de JellyWatchWise
Aller go

1/ Création des dossiers nécessaire
Sur le NAS nous allons devoir créer un dossier jellywatchwise contenant un dossier config.
En SSH, avec la commande
cd
nous allons accéder au dossier ou vous souhaitez installer les fichiers de configuration du conteneur. Dans mon cas c'est /home/tuto/docker, j’exécute donc la commande suivante pour accéder au dossier docker :cd /home/tuto/docker
Vous pouvez aussi créer le dossier jellywatchwise, contenant un dossier config avec cette commande :
mkdir -p jellywatchwise/config
Ensuite, avec la commande
cd jellywatchwise
, rendez-vous dans le dossier principal de JellyWatchWise que nous venons de créer.Note : A partir de maintenant, toutes les commandes du tutoriel partirons du principe que vous les exécuter depuis le dossier /jellywatchwise
2/ Récupérer la clé API
le plugin Playback Reporting est obligatoire pour le fonctionnement de JellyWatchWise. Assurez vous que le plugin est bien présent sur votre serveur Jellyfin.
Ensuite pour récupérer la clé API, rendez vous dans l'interface d'administration :
[OUPS TUTO EN COURS]
3/ Création & Configuration du fichier de configuration
Dans le dossier config, nous allons créer un fichier config.yaml avec la configuration de notre instance JellyWatchWise.
Vous pouvez créer et modifier ce fichier avec la commande :
nano config/config.yaml
Voici un exemple :
YAML:
server:
host: http://192.168.1.100:8096 # Jellyfin server address
token: 3490000000000000000000000000057b # token used for authorization (api key for admin account)
limits: # all time values are in minutes
default_limit: [75, 120]
user_limits:
7ad00000000000000000000000000999: 45
bc10000000000000000000000000084c: 120
no_limit_users: # users that will not be shown for limit checks (put admin accounts here)
- 6d300000000000000000000000000f1a
account_enable_on_day_reset: true
polling_interval: 1.2 # time between refreshing state from Jellyfin server
# (can be 0 when webhooks are defined to call http://yourWatchWise/trigger)
view:
default_user: 7ad00000000000000000000000000999
language: en
access:
limit_clients: false # when true the client IP address has to start with
accepted_clients: # one of the 'accepted client' items
- "127.0.0."
- "192.168."
- "10."
# optional address and API key of JellyStat server; it replaces Playtime Reporting requirement
# stats:
# host: https://mystats.somedomain.com
# token: 26700000000000000000000000000543
general:
log_level: info # critical, error, warning, info, or debug
Ce que vous devez modifier :
-
host:
>> Remplacer http://192.168.1.100:8096
par l'url de votre serveur Jellyfin-
token:
>> Remplacer 3490000000000000000000000000057b
par le token obtenu au point 2l'url de votre serveur Jellyfin-
default_limit: 75
>> Ici 75 représente la limitation en minute la limitation journalière par défaut pour l'ensemble des utilisateurs.Il faut comprendre que par défaut, tous les utilisateurs sont limités par cela. En dessous nous allons voir comment appliquer une limite personnalisée pour certains utilisateurs, et comment exclure des utilisateurs du systeme de limitation.
-
Dans l'exemple si dessus,
Vous pouvez aussi spécifier des limitations différentes pour les jours travaillés / weekend, ou pour chaques jours de la semaine, voir : https://github.com/Joker-KP/jelly-watch-wise/blob/main/config/config-sample.yaml
user_limits:
vous devez indiquer les id des utilisateurs* que vous souhaitez surveiller, et leur limite journalière.Dans l'exemple si dessus,
7ad00000000000000000000000000999
à une limite de 45 min, et bc10000000000000000000000000084c
une limite de 120 min.Vous pouvez aussi spécifier des limitations différentes pour les jours travaillés / weekend, ou pour chaques jours de la semaine, voir : https://github.com/Joker-KP/jelly-watch-wise/blob/main/config/config-sample.yaml
-
Dans l'exemple si dessus,
no_limit_users:
vous devez indiquer les id des utilisateurs* que vous souhaitez surveiller, et leur limite journalière.Dans l'exemple si dessus,
6d300000000000000000000000000f1a
n'a pas de limitation ( je vous conseille de le mettre en place au moins sur votre compte de gestion )-
default_user:
>> Remplacer 7ad00000000000000000000000000999
par l'ID de l'utilisateur a afficher par défaut sur la page web de gestion de JellyWatchWise* Pour connaitre des IDs des utilisateurs, voir l'annexe 1. ( en cours de rédaction ).
[OUPS TUTO EN COURS]
4/ Création & Configuration du fichier "docker-compose.yml"
Nous allons maintenant créer le fichier docker-compose.yml, c'est lui qui contiendra la configuration de notre conteneur.
Pour le créer nous exécutons la commande suivante :
nano docker-compose.yml
L'éditeur s'ouvre, dedans nous allons copier/coller le code suivant :
Code:
services:
jelly-watch-wise:
image: macjoker/jelly-watch-wise
container_name: jelly-watch-wise
ports:
- 5057:8080
volumes:
- ./config:/app/config
restart: unless-stopped
Vous pouvez ensuite quitter l'éditeur avec Ctrl+X et confirmer les modifications.[/B]
5/ Création et démarrage du conteneur
Rappel : Nous sommes toujours en SSH, dans notre dossier jelly-watch-wise
Pour créer le conteneur et le démarrer exécuter la commande suivante :
docker compose up -d
Note : Si vous exécuter une veille version de docker-compose ( version 1 ) , la commande sera :
docker-compose up -d
Note 2 : Les commandes docker doivent s’exécuter avec les droits root
Si la commande vous retourne "done" ou "Running", c'est que le conteneur est bien lancé !
6/ Accès a JellyWatchWise
Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 5057 pour se connecter a l'interface Web de JellyWatchWise.
Exemple : Si l'ip de votre NAS est 192.168.1.20 alors l'adresse est http://192.168.1.20:5057

ANNEXES a venir ....


2024-11-21 - Ajout de précision sur le réglage des limites suite à l'ajout d'une fonction par le dev
2024-11-18 - Correction d'une faute de frappe dans l'adresse (6/)
2024-11-17 - Création du tutoriel
Dernière édition: