15/11/2024

NAS

NAS Synology – Installer NetAlertX dans un conteneur Docker pour surveiller son réseau local

I. Présentation

Dans ce tutoriel, nous allons apprendre à installer l'application NetAlertX (Pi.Alert) sur un NAS Synology. L'installation sera effectuée dans un conteneur Docker, via Container Manager.

NetAlertX est une application gratuite et open source dont l'objectif est de surveiller votre réseau local dans le but de référencer tous les appareils connectés. Que ce soit un appareil connu ou inconnu (intrusion ?), il sera détecté par NetAlertX. Ainsi, vous pouvez recevoir une notification lorsqu'un nouvel appareil se connecte pour la première fois ou si un appareil tombe en panne (connecté puis déconnecté).

Nous avons mis en ligne un article de présentation et de configuration complet à son sujet. Voici les liens vers cet article et vers le GitHub du projet :

Ici, nous aborderons la phase de déploiement sur un NAS Synology à l'aide de Container Manager.

II. Déployer NetAlertX avec Docker

Avant toute chose, vous devez installer l'application "Container Manager" sur votre NAS, si ce n'est pas déjà fait. Puis, vous devez créer un dossier pour ce conteneur. Pour ma part, il s'agit du répertoire "netalertx" créé sous "docker".

Dans ce répertoire nouvellement créé, vous devez créer les trois sous-répertoires suivants :

  • log
  • db
  • config

Ils seront utilisés par l'application pour stocker des données (journaux, configuration, base de données).

Ensuite, ouvrez "Container Manager" puis cliquez sur "Projet" afin de créer un nouveau projet en cliquant sur le bouton nommé "Créer".

Vous devez donner un nom à ce projet, sélectionner le répertoire créé précédemment et indiquer le code de configuration Docker Compose permettant de déployer l'image Docker de l'application. Ce qui donne :

Voici le code Docker Compose (aidez-vous des commentaires dans le fichier pour la compréhension de la config) :

services:
  netalertx:
     image: jokobsk/netalertx:latest   # Nom de l'image Docker à utiliser
     container_name: netalertx         # Nom du conteneur Docker
     healthcheck:                      # Vérifier état de santé du conteneur (attention au port)
      test: curl -f http://127.0.0.1:15000/ || exit 1
     mem_limit: 1g                     # Limite RAM de 1 Go pour le conteneur
     security_opt:
      - no-new-privileges:true         # Option de sécurité contre l'élévation de privilèges
     volumes:
      - /volume1/docker/netalertx/config:/app/config:rw          # Volume pour "config" (configuration)
      - /volume1/docker/netalertx/db:/app/db:rw                  # Volume pour "db" (base de données)
      - /volume1/docker/netalertx/log:/app/front/log:rw          # Volume pour "log" (journaux)
     environment:
      TZ: Europe/Paris                 # Fuseau horaire, ici Paris
      PORT: 15000                      # Port à utiliser sur la machine locale (adapter le healthcheck en fonction)
      HOST_USER_ID: 1032               # UserID à utiliser (n'utilisez pas "root")
      HOST_USER_GID: 100               # UserID à utiliser (n'utilisez pas "root")
      # ALWAYS_FRESH_INSTALL: true     # Réinitialise l'application (effacer toutes les données - désactivé ici)
     network_mode: host                # Mode "host" obligatoire pour cette application
     restart: on-failure:5             # Restart en cas de problème avec le conteneur ; 5 tentatives pour relancer
Docker Compose NetAlertX pour Synology.jpg

Dans le cas présent, le port sur lequel sera joignable l'application, est le port 15000. Veillez à vérifier également les chemins vers les dossiers, sous l'instruction "volumes".

Le conteneur sera exécuté à partir de l'utilisateur "docker", créé par mes soins sur le NAS. Il s'agit d'un utilisateur non privilégié qui ne dispose d'aucune permission spéciale sur le NAS, si ce n'est le droit de lecture et écriture dans le répertoire "docker".

Nous avions abordé la création de cet utilisateur dans l'article de présentation globale de Container Manager. De plus, vous devez être en mesure de récupérer l'UID de ce compte, qui est susceptible de varier d'un NAS à un autre. Voici deux liens utiles :

Quand la configuration est prête, poursuivez jusqu'à la fin et lancez la création du projet... Patientez pendant le téléchargement de l'image Docker et la création du conteneur associé.

Dès à présent, vous pouvez accéder à l'application NetAlertX de cette façon :

  • http://<adresse IP de votre NAS>:15000

Vous avez désormais accès à l'application NetAlertX grâce à votre NAS !

NetAlertX sur NAS Synology avec Docker

III. Conclusion

Voilà, vous venez de déployer l'application NetAlertX sur votre NAS Synology ! Dès maintenant, elle va commencer à détecter les hôtes sur le réseau "192.168.1.0/24" puisque c'est sa configuration par défaut. Référez-vous à notre tutoriel sur la configuration de NetAlertX pour prendre en main cette solution.

Par la suite, vous pouvez publier l'application à l'aide du reverse proxy de DSM et d'un certificat TLS. Pour cela, si vous avez besoin d'aide, référez-vous à ces deux tutoriels :

Qu'en pensez-vous ? Nous attendons votre réaction en commentaire !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

8 commentaires sur “NAS Synology – Installer NetAlertX dans un conteneur Docker pour surveiller son réseau local

  • Bonjour Florian. Super tuto comme d’habitude! Un grand merci.
    J’ai un souci. Après création du projet, le container se lance et est bien au vert. Par contre impossible de me connecter avec site inaccessible. Sur ce NAS, j’ai également un conteneur adguard qui tourne. J’ai vérifié mon uid et gid;
    Le NAS semble refuser la connexion. As tu une idée?
    Merci

    Répondre
    • Bonjour,
      Le port du conteneur NetAlertX a-t-il été autorisé dans le firewall de DSM ?

      Répondre
    • Avez-vous essayé de vous connecter en http au lieu de https ?

      Répondre
  • J’ai un Ds3018xs qui était en DSM 7.1 avec docker installé et Portainer . Uniquement 4 containers deployés: nextcloud , Rustdesk, et portainer. Au vu de l’article sur container manager ( ou Docker 2.0) , je me suis décidé à migrer en 7.2.2 pour utiliser container manager avec comme essai le container netalertx. En utilisant le projet comme indique dans ce tuto avec le fichier compose.yaml, je reussis bien à créer un container Netalertx qui est actif mais je vois que ce container utilise un réseau bridge et non hote. Du coup impossible de l’atteindre par http sur l’adresse du Nas et ce quelque soit le port utilisé et pare-feu NAS désactivé . J’ai du faire deux ou trois installations après scratch pour vérifier. A la fin de guerre lasse, je suis passé par le bon vieux Portainer des chaumières et j’ai déployé le stack avec les paramètres indiqués dans le tuto . Et cela marche enfin. Je vais tester avec d’autres exemples de précédent tuto. la migration pourrait elle être la cause ?

    Répondre
  • Bonjour
    Merci pour ce tuto, j’ai installé Netalertx sur mon syno DS120j tout fonctionne malgré ma configuration en RAM plutôt légère , voila une appli de surveillance réseau qui va rester à demeure sur ce Nas.

    Répondre
  • Super, installation simple et avec le reverse proxy, in y accede avec le certificat let’s encrypt. Reste à découvrir l’ensemble des fonctionnalités. Belle découverte!

    Répondre
  • Bonjour, j’ai un problème quand je lance netalertx un message s’affiche, je suis ce qu’il dit de faire comme ci-dessous.
    [Upgrade] : App upgraded 🚀 Please clear the cache:
    Click OK below
    Clear the browser cache (shift + browser refresh button)
    Clear app cache with the 🔄 (reload) button in the header
    Go to Settings and click Save
    Check out new features and what has changed in the 📓 release notes.
    Mais cela ne marche pas, quelqu’un aurez la solution merci.

    Répondre
  • Magnifique !

    Ca marche bien sur mon DS923+ ! (à titre perso)

    Il a fallu que je révise et adapte le fichier yaml car mon dossier « DOCKER » se trouve sur le volume 2 du NAS, mais c’est passé nickel.

    Reste à explorer l’outil et tester les plugins.

    Merci !!

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.