[Tuto] Installation de Scrutiny en Docker via docker-compose

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 204
1 573
278
/var/run/docker.sock
[Tuto] Installation de Scrutiny en Docker via docker-compose


Bonjour,
Un nouveau petit tuto pour vous apprendre à installer Scrutiny en docker-compose.

Scrutiny c'est quoi ?
Scrutiny est une solution de tableau de bord et de surveillance de la santé du disque dur, fusionnant les métriques S.M.A.R.T fournies par le fabricant avec des taux d'échec réels de Backblaze.

scrutiny-logo-dark.png

Aperçu en image :
dashboard.png


Sommaire :
1/ Création des dossiers
2/ Création du docker-compose
3/ Création du réseau bridge
4/ Création du conteneur
5/ Accès à Scrutiny

6/ Dépannage
____ 6.a Les NVMe

1/ Création des dossiers
Je vais installer Scrutiny dans mon dossier docker, qui se situe sur /srv/disk1, je vais donc créer le
Code:
sudo mkdir -p /srv/disk1/docker/scrutiny/config

3/ Création du docker-compose
Maintenant, je vais dans mon dossier Scrutiny :
Code:
cd /srv/disk1/docker/scrutiny

Et je crée un fichier docker-compose.yml :
Code:
sudo nano docker-compose.yml

Avec le contenu suivant :
Code:
version: "2.1"
services:
  scrutiny:
    image: ghcr.io/linuxserver/scrutiny
    container_name: scrutiny
    networks:
      - scrutiny-network
    cap_add:
      - SYS_RAWIO
      - SYS_ADMIN
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Paris
      - SCRUTINY_API_ENDPOINT=http://localhost:8080
      - SCRUTINY_WEB=true
      - SCRUTINY_COLLECTOR=true
    volumes:
      - /srv/disk1/docker/scrutiny/config:/config
      - /run/udev:/run/udev:ro
    ports:
      - 8080:8080
    devices:
      - /dev/sda:/dev/sda
      - /dev/sdb:/dev/sdb
    restart: unless-stopped

networks:
  scrutiny-network:
    external:
      name: scrutiny-network

Ici, plusieurs choses sont a adapter suivant votre installation :
- PUID et GUID sont à modifier suivant les ID de votre utilisateur*
* Pour connaitre le PUID/GUID de l'utilisateur : [Tuto] Connaitre le PUID / PGID d'un utilisateur.

- Sur la ligne "/srv/disk1/docker/scrutiny/config:/config", /srv/disk1/docker/scrutiny/config doit correspondre avec le dossier crée a l'étape 1 du tuto. Ce dossier va contenir les fichiers nécessaires au bon fonctionnement du conteneur ( base de données, .. )

- "/dev/sda:/dev/sda", correspond à votre 1er disque, "/dev/sdb:/dev/sdb" au second, ...
Il vous faut rajouter autant de ligne, que vous avez de disque a faire surveiller a scrutiny.
Il est également possible de lui faire surveiller des disques NVMe**, la ligne sera sous la forme : /dev/nvme1n1:/dev/nvme1n1
**Dans le compose, on peu voir le conteneur demande les droits "SYS_ADMIN", c'est justement pour pouvoir surveiller les disques NVMe, si vous n'avez pas de disques NVMe, cette permissions n'est pas obligatoire.

Info : Il est possible d’exécuter la commande suivante pour lister les disques :
Code:
smartctl --scan


3/ Création du réseau bridge

Dans le compose je place le conteneur scrutiny sur un réseau bridge "scrutiny-network", il faut le crée, pour cela on lance la commande suivante :
Code:
sudo docker network create scrutiny-network


4/ Création du conteneur
Maintenant que tous en prêt, nous allons lancer la création du conteneur.
Pour cela, toujours dans notre dossier "scrutiny", nous exécutons la commande suivante :
Code:
sudo docker-compose up -d

5/ Accès à Scrutiny
Rendez-vous a l'url de votre machine + le port 8080 pour afficher le dashboard.
Exemple : http://192.168.1.10:8080
Celui-ci va vous inviter a lancer manuellement* le 1er scan avec la commande suivante : scrutiny-collector-metrics run
Cette commande est a exécuter dans le conteneur, de cette façon :
Code:
sudo docker exec scrutiny scrutiny-collector-metrics run

*Dans le cas ou vous n'executez pas cette commande il faudra attendre environ minuit pour que le 1er scan automatique ce lance.

Apres l'execution de la commande, actualisé votre dashboard, et admirer le résultat :giggle:

6/ Dépannage
____ 6.a Les NVMe

Petite subtilité pour les NVMe, si le chemin vers votre NVMe est /dev/nvme0n1, il faut déclarer le NVME dans devices comme ceci : /dev/nvme0:/dev/nvme0.

L'ajout de la dernière partie ( le n1 dans mon cas ), provoque une non detection du disques NVMe par Scrutiny.

2022-02-16 - Ajout d'une note sur les NVMe en 6/
 
Dernière édition:
Bonjour.
Merci pour ce tuto, je l'ai essayé et quand j'arrive sur cette commande: sudo nano docker-compose.yml
rien ne se passe, je n'ai probablement pas compris quelque chose?

Merci