Installer Kuvasz avec Docker
Kuvasz

Installer Kuvasz avec Docker

Table des matières

GitHub - kuvasz-uptime/kuvasz: Kuvasz (pronounce as [ˈkuvɒs]) is an open-source uptime and SSL monitoring service, built in Kotlin
Kuvasz (pronounce as [ˈkuvɒs]) is an open-source uptime and SSL monitoring service, built in Kotlin - kuvasz-uptime/kuvasz

Aujourd'hui nous allons parler de Kuvasz ! Cette applications va vous permettre de faire du monitoring sur vos services ou sites. Extrêmement simple à utiliser, il ne faudra que quelques minutes pour ajouter vos sondes.

Comme toujours, il existe pas mal d'applications dans le genre, tout n'est questions que de besoins et de goûts.


⚡ Caractéristiques

  • Surveillance HTTP(S) : Contrôlez la disponibilité et les performances de vos sites web et de vos services en envoyant des requêtes HTTP(S).
  • Surveillance de la certification SSL : Vérifie automatiquement les certificats SSL de vos services surveillés pour s'assurer qu'ils sont valides et qu'ils n'ont pas expiré.
  • Notifications par moniteur : Configurez différents canaux de notification pour chaque moniteur, ce qui vous permet d'adapter les alertes à vos besoins spécifiques.
  • Interface utilisateur élégante : Kuvasz dispose d'une interface moderne, réactive et conviviale qui facilite la gestion de vos moniteurs.
  • API REST complète : Gérez vos moniteurs, vérifiez leur état et bien plus encore grâce à une API puissante.
  • Plus à venir : Kuvasz est en cours de développement actif, et d'autres fonctionnalités sont prévues pour l'avenir, telles que la correspondance des mots clés de la réponse, les requêtes POST avec une charge utile arbitraire, et plus encore.

💾 Installation

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Distribution Linux (Ubuntu, Debian, etc ...).
  • Docker installé.
  • Accès terminal.
  • Connexion internet.

Étapes d'installation

  1. Créez votre compose.yml dans le dossier ou vous comptez installer Kuvasz :
nano compose.yml
  1. Et collez ça dedans :
services:
  kuvasz-db:
    image: postgres:17-alpine
    container_name: kuvaszdb
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres 
      TZ: 'UTC' 
    ports:
      - "5432:5432"
    volumes:
      - ./pgdata:/var/lib/postgresql/data 
  kuvasz:
    image: kuvaszmonitoring/kuvasz:latest
    container_name: kuvasz
    mem_limit: 384M # optional 
    ports:
      - "4080:8080"
    environment:
      TZ: 'UTC' 
      DATABASE_HOST: kuvaszdb 
      DATABASE_USER: postgres 
      DATABASE_PASSWORD: postgres 
      ADMIN_USER: YourSuperSecretUsername
      ADMIN_PASSWORD: YourSuperSecretPassword
      ADMIN_API_KEY: ThisShouldBeVeryVerySecureToo
    volumes:
      - ./kuvasz.yml:/config/kuvasz.yml 
    depends_on:
      - kuvasz-db
  • POSTGRES_USER: postgres => Vous pouvez laisser postgres ou changer le nom d'utilisateur de la base de données.
  • POSTGRES_PASSWORD: postgres => Il vaut mieux changer le mot de passe de la base de données.
  • DATABASE_USER: postgres => Si vous avez changé le nom d'utilisateur, il faudra le changer ici aussi.
  • DATABASE_PASSWORD: postgres => Remplacez postgres par le mot de passe de la base de données choisi au point POSTGRES_PASSWORD: postgres.
  • ADMIN_USER: YourSuperSecretUsername => Choisissez un nom d'utilisateur pour votre compte administrateur et remplacez YourSuperSecretUsername par ce nom d'utilisateur.
  • ADMIN_PASSWORD: YourSuperSecretPassword => Choisissez un mot de passe pour votre compte administrateur et remplacez YourSuperSecretPassword par ce mot de passe.
  • ADMIN_API_KEY: ThisShouldBeVeryVerySecureToo => Remplacez ThisShouldBeVeryVerySecureToo par un phrase de passe ou un mot de passe fort.
  1. Créez votre fichier kuvasz.yml, toujours dans le dossier d'installation où se trouve votre compose :
touch kuvasz.yml
  1. On va déployer l'application :
docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 4080 par défaut :
http://ip:4080/

ou votre domaine :

https://Kuvasz.mondomaine.com

🚦 Ajouter une sonde

Maintenant que c'est installé, on va ajouter une sonde en exemple.

Cliquez sur + New monitor :

Remplissez les informations demandées :

  • 1 => Nommez votre sonde, ici je voudrais surveiller Komga.
  • 2 => Indiquez l'URL de votre service ou site.
  • 3 => GET ou HEAD, dans beaucoup de cas GET sera le bon choix.
  • 4 => Si vous voulez vérifier l'expiration du SSL.
  • 5 => Si vous voulez être notifié par mail, cochez email_implicity_enabled.
  • 6 => Cliquez sur Save pour terminer.

Le service a bien été ajouté, il faudra patienter une minute et un peu plus pour le check SSL, suivant vos réglages, afin qu'il fasse son premier test :

Après une minute :


📫 Configurer le serveur mail

Ajouter le serveur mail

Si vous souhaitez être notifié d'un nouveau rendez-vous, il faudra activer le serveur mail.

Dans le cas où vous avez votre propre service mail, vous avez les informations nécessaires à entrer ci-dessous.

Mais vous pouvez également utiliser les serveurs mail de Google, Outlook, Infomaniak,.. Jetez un œil ici pour avoir les paramètres nécessaires :

Configurer le SMTP pour envoyer un mail avec une application Docker
Tutoriel pour configurer le SMTP afin d’envoyer un mail à partir de vos applications self-hosted.

Pour commencer il faut éditer le fichier nano kuvasz.yml

nano kuvasz.yml

Collez ça dedans :

smtp-config.host: 'smtp.xxx.xx'
smtp-config.port: 587
smtp-config.username: goldorak@goldorak.com
smtp-config.password: Votre_mot_de_passe
smtp-config.transport-strategy: SMTP_TLS
  • smtp-config.host: 'smtp.xxx.xx' =>
  • smtp-config.port: 587 =>
  • smtp-config.username: goldorak@goldorak.com =>
  • smtp-config.password: Votre_mot_de_passe =>
  • smtp-config.transport-strategy: SMTP_TLS =>

Ajouter une adresse mail

La première partie étant faire, il va falloir ajouter une adresse mail là où vous voulez recevoir la notifiation.

Il faudra à nouveau éditer le fichier nano kuvasz.yml

nano kuvasz.yml

Et ajouter ce bloc :

integrations:
  email:
    - name: email_implicitly_enabled
      from-address: zarev@belginux.com
      to-address: zarev@belginux.com
  • 1 => Ajoutez l'adresse mail d'où doit partir le mail.
  • 2 => Ajoutez l'adresse mail qui recevra la notification.

Au final votre fichier devra ressembler à ça :

💡
Redémarrez vos containers Kuvasz pour que le serveur mail soit activé.

Le test

Je vais arrêter le service Immich et le relancer, quelques secondes après ces actions, j'ai bien reçu une notifications :


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer