Installer Uptime Kuma avec Docker

Introduction

Uptime Kuma est une interface web auto hébergée qui permet de surveiller n’importe quel type de serveurs (web, dns, sgdb…etc) et d’alerter en cas de pannes ou de disfonctionnement. Nous allons installer ‘Uptime Kuma’ avec docker compose et portainer dans cette article.

Pour cette installation j’utilise l’image officielle qui est présente ici : https://github.com/louislam/uptime-kuma.

Remarque : J’ai créé au préalable un utilisateur omdocker (voir l’article création d ‘un utilisateur Docker pour le détail). J’ai créé aussi un répertoire qui contiendra tous mes installations docker. dans ce blog, j’utiliserais pour exemple le chemin /volume/docker.

Nous allons créer aussi le répertoire ‘uptime-kuma’ en ligne de commande sur le NAS (connexion en SSH) dans notre répertoire docker : /volume/docker. Cette étape est facultative, le containeur créera le répertoire automatiquement lors du déploiement si celui ci n’existe pas.

$ cd /volume/docker
$ mkdir uptime-kuma

Le fichier de configuration

Si vous souhaitez sécuriser le lancement de ‘uptime-kuma‘, je vous engage à parcourir l’article securiser docker.

Il est importent de bien respecter l’indentation des fichiers de configurations : pas de tabulation. Attention aussi à la version du fichier, il y a des légères évolutions de syntaxe d’une version à l’autre.

Le fichier yml en détails. Il faut remplacer pour votre configuration :

  • port 8203 : numéro de port par défaut pour accéder à l’interface avec votre navigateur,
  • TZ : Votre zone de temps,
  • UID et PGID : celui de votre utilisateur Docker (omdocker pour ce blog),
  • networks : Il faudra relier votre container au réseau de ‘swag’ pour un accès extérieur.

version: "3.9"
services:
  kuma:
    container_name: uptime-kuma
    image: louislam/uptime-kuma:latest
    restart: unless-stopped
    volumes:
      - /volume/docker/uptime-kuma:/app/data
    environment:
      - PUID=1003
      - PGID=100
      - TZ=Europe/Paris
    ports:
      - 192.168.1.2:8203:3001
networks:
    default:
        external:
            name: swag_default

Vous copiez le contenu de ce fichier dans votre interface de gestion Portainer en allant dans ‘Stacks‘ et ‘Add stack‘.

Ajout d'une pile
Ajout d’une pile

création de la pile uptime kuma
La pile ‘uptime-kumae

Donnez un nom à votre pile, par exemple ‘uptime-kuma‘, puis déployer cotre containeur en cliquant en bas sur « Deploy the stack‘.

Après une phase de téléchargement de l’image, puis d’installation de l’application, vous devriez arriver sur cet écran si tout s’est bien passé :

Le containeur uptime kuma
Le container ‘uptime-kuma‘ est installé et est en fonctionnement.

Nous pouvons maintenant nous connectez à ‘uptime-kuma‘ localement avec l’URL http://IP_NAS:8203 (l’adresse et le port est a adapté suivant votre fichier de configuration), sinon via votre domaine dans le cas d’un accès extérieur (voir configuration Swag plus bas) :

tableau de bord Uptime Kuma
Le tableau de bord ‘uptime-kuma

Création d’uns sonde

Uptime Kuma peut surveiller tous types de services utilisant un port d’écoute. Il possède aussi des services prédéfinis comme des serveurs de jeu Steam, des serveurs Radius et surveiller aussi des containeurs. La création d’un sonde est assez intuitif, il faut renseigner le type de surveillance, la fréquence de surveillance, la notification s’ils y en as de définis…. etc

Création d'une sonde
Création d’une sonde

Les protocoles d’alertes pris en charges sont aussi très nombreux : email, serveur Gotify, serveur Discord…etc

Protocoles d'alertes pris en charges
Protocoles d’alertes pris en charges

Configuration de Swag

La configuration d’un containeur avec ‘swag‘ est la plupart du temps très simple. ‘swag‘ propose par défaut des fichiers de configurations prédéfinis pour de nombreux services.

Ces fichiers se trouvent dans le répertoire d’installation de swag : /volume/docker/swag/nginx/proxy-confs/

Fichier configuration swag
Le fichier de configuration de ‘uptime-kuma

Nous allons simplement recopier ce fichier et le renommer ‘uptime-kuma.subdomain.conf’.

$ cd /volume/docker/swag/nginx/proxy-confs/
$ cp uptime-kuma.subdomain.conf.sample uptime-kuma.subdomain.conf

Nous relançons le containeur swag soit via ‘Portainer‘, soit en ligne de commande ‘sudo docker restart swag‘ pour qu’il prenne en charge la redirection du containeur ‘uptime-kuma‘.

Laisser un commentaire

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