Featured image of post Installation Uptime Kuma avec Docker

Installation Uptime Kuma avec Docker

Installation du WebUI 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 dysfonctionnement. Nous allons installer ‘Uptime Kuma’ avec docker compose et portainer dans cet article.

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

Nous utiliserons ‘swag’ (voir article installation de swag) pour accéder à notre serveur depuis l’extérieur. L’installation a été effectuée sur le Nas ‘OMV’, mais la procédure sera la même dans un container LXC ou LXD.

Remarque : J’ai créé au préalable un utilisateur omdocker (voir l’article création d’un utilisateur). J’ai créé aussi un répertoire qui contiendra toutes 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 sécuriser Docker.

Il est important 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,
  • PUID et PGID : celui de votre utilisateur Docker (omdocker chez moi),
  • TZ : Votre zone de temps,
  • ip_local : l’IP d’OMV ou de votre serveur,
  • 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:
        - ip_local: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


La pile ‘uptime-kuma‘

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 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 de Swag) :

Création d’une 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 jeux Steam, des serveurs Radius et surveiller aussi des containeurs. La création d’une sonde est assez intuitive ; il faut renseigner le type de surveillance, la fréquence de surveillance, la notification s’ils y en a de définis…etc, Voici un exemple de configuration de redirection, pour une Livebox Orange :

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

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/

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’.

Nous pouvons maintenant nous connecter à ‘uptime-kuma’ depuis l’extérieur avec l’URL https://uptime-kuma.subdomain.domain.tld (Le domaine et le sous domaine est à adapter suivant le vôtre).

Généré avec Hugo
Thème Stack conçu par Jimmy