QNAP [Tuto] Installation de Jellystat en Docker sur un NAS QNAP ( Container Station )

EVO

Administrateur
Membre du personnel
25 Novembre 2019
11 545
2 764
303
/var/run/docker.sock

[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 ? :unsure:
Jellystat est une application de statistiques gratuite et open source pour Jellyfin.



1731950722224.png

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 :

1781772475861.png

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 :

1781772693385.png

1781772709880.png

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 :) Le 1er lancement peut prendre un peu de temps. ( Cela a bien pris 5 bonnes minutes chez moi ).

1781772942021.png

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


1781772976213.png