[Tuto] Installation de Jellystat en Docker sur un NAS QNAP ( Container Station )
Bonjour,Voici un petit tuto, pour ceux qui souhaiteraient installer JellyStat en Docker sur un NAS QNAP.
JellyStat , c'est quoi ?
Jellystat est une application de statistiques gratuite et open source pour Jellyfin.
Retrouvez plus d'informations sur JellyStat ici : https://github.com/CyferShepard/Jellystat
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ésitez pas à proposer des améliorations, ou des conseils, ...
Pour un support sur JellyStat ne concernant pas une installation via ce tutoriel, merci de poster votre question dans Applications tierces.
Pré-requis :
- Un NAS QNAP compatible avec Container Station ( [Mémo] Installation de Container Station sur un NAS QNAP )
- Cette stack est compatible avec les CPUs de type : AMD64, ARM64v8
- Un serveur Jellyfin fonctionnel, voir par exemple [Tuto] Installation de Jellyfin en Docker sur un NAS QNAP ( Container Station )
Sommaire :
1/ Création des dossiers nécessaire
2/ Création des conteneurs
3/ Accès a JellyStat
1/ Création des dossiers nécessaire
Sur le NAS, nous allons devoir créer un dossier jellystat contenant un dossier backups, ce dernier contiendra les backups journaliers de Jellystat.Pour ce tuto, je me place dans le dossier partagé par défaut /Container. Depuis File Station, je vais donc créer un dossier jellystat, avec dedans un dossier backups :

2/ Création des conteneurs
Dans la fenêtre de création d'application de Container Station :- Indiquer le nom de l'application ( au choix ), dans mon cas j'indique "jellystat".
- et on copier/colle le code YALM :
YAML:
services:
jellystat-db:
image: postgres:18.1
shm_size: '1gb'
container_name: jellystat-db
restart: unless-stopped
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "10m"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: oirj36FwXXJqhuFi
volumes:
- jellystat-postgres-data:/var/lib/postgresql
healthcheck:
test:
- CMD-SHELL
- pg_isready --dbname=postgres --username=postgres
interval: 10s
timeout: 5s
retries: 5
jellystat:
image: cyfershepard/jellystat:unstable
container_name: jellystat
restart: unless-stopped
logging:
driver: "json-file"
options:
max-file: "5"
max-size: "10m"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: oirj36FwXXJqhuFi
POSTGRES_IP: jellystat-db
POSTGRES_PORT: 5432
JWT_SECRET: "Jw2KXhQQVBHbSUEbPXC3AiCbe92ZhRnW"
TZ: Europe/Paris
volumes:
- ./jellystat/backups:/app/backend/backup-data
ports:
- 3000:3000
depends_on:
jellystat-db:
condition: service_healthy
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:3000/auth/isConfigured || exit 1
interval: 60s
timeout: 30s
retries: 5
start_period: 30s
volumes:
jellystat-postgres-data:
Ce que vous devez modifier :
- POSTGRES_PASSWORD >> Remplacer au deux endroits dans le compose,
oirj36FwXXJqhuFi par un mot de passe de votre choix- JWT_SECRET >> Pas obligatoire, mais vous pouvez ( et je vous encourage a le faire ) personnaliser cette clé
Jw2KXhQQVBHbSUEbPXC3AiCbe92ZhRnW de chiffrement si vous le souhaitez, remplacez la par une suite de votre choix.Note : Vous remarquerez que l'image choisie est la version "unstable" ( cyfershepard/jellystat:unstable ), elle propose quelques fonctions supplémentaires, et je n'ai pas de soucis avec. Si vous souhaitez être sur la version stable, il suffit de retirer :unstable
Une fois correctement adapté, vous cliquez sur Créer pour lancer la création du conteneur :


Et on attend !
Une fois fini, il est en vers dans la liste des Conteneurs, il se peut qu'il y ait besoin d'attendre encore un peu avant de pouvoir accéder a l'interface

3/ Accès a JellyStat
Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 3000 pour se connecter a l'interface Web de JellyStat.
Exemple : Si l'ip de votre NAS est 192.168.1.170 alors l'adresse est http://192.168.1.170:3000
