Skip to content
On this page

Installation

Pré-requis

Afin de pouvoir installer Uptime Kuma, les programmes suivants devront être installés :

  • Docker
  • Docker Compose

Initialisation

Nous allons créer un nouveau projet nous permettant de tester rapidement Uptime Kuma.

Pour cela, créons un nouveau dossier de travail.

bash
mkdir uptime-kuma-test

Nous pouvons maintenant changer le dossier de travail courant pour celui que nous venons de créer à l'instant.

bash
cd uptime-kuma-test

Configuration

Maintenant, il nous suffit de créer le fichier suivant afin de pouvoir commencer à construire notre conteneur.

bash
touch compose.yml

À l'intérieur, nous allons ajouter les lignes suivantes.

yaml
services:
  uptime-kuma:
    container_name: uptime-kuma
    image: louislam/uptime-kuma:1.23.16-alpine
    restart: unless-stopped
    ports:
      - 3001:3001
    volumes:
      - ./uptime-kuma:/app/data
      - /var/run/docker.sock:/var/run/docker.sock

WARNING

Pensez à modifier la version de l'image en vous rendant sur la documentation de l'image hébergée sur le Docker Hub afin d'utiliser une image récente pour Uptime Kuma.

Données

Les données stockées par le conteneur Uptime Kuma le sont dans le dossier /app/data du conteneur Docker. C'est une bonne idée de créer un volume pour les sauvegarder afin de pouvoir les récupérer plus tard après un redémarrage du service par exemple.

Vous pouvez utiliser un chemin différent de celui qui a été utilisé précédemment pour stocker les données générées à l'exécution de Uptime Kuma, pour cela il vous suffit de modifier le volume en question.

yaml
services:
  uptime-kuma:
    container_name: uptime-kuma
    image: louislam/uptime-kuma:1.23.16-alpine
    restart: unless-stopped
    ports:
      - 3001:3001
    volumes:
      - /var/opt/uptime-kuma:/app/data 
      - /var/run/docker.sock:/var/run/docker.sock

Vous pouvez également utiliser un volume global de la façon suivante si vous souhaitez partager ce volume avec d'autres conteneurs Docker.

yaml
services:
  uptime-kuma:
    container_name: uptime-kuma
    image: louislam/uptime-kuma:1.23.16-alpine
    restart: unless-stopped
    ports:
      - 3001:3001
    volumes:
      - uptime-kuma-data:/app/data 
      - /var/run/docker.sock:/var/run/docker.sock

volumes: 
  uptime-kuma-data: 
    external: true 

TIP

Un volume local est plus simple à gérer car les données sont stockées exactement là où vous le souhaitez, mais pénible à sauvegarder tandis que les volumes gérés par Docker sont stockés sur votre système d'exploitation dans les dossiers de configuration de Docker qui sont souvent difficiles à trouver, mais sont très facile à gérer grâce à la commande docker volume et sont faciles à sauvegarder.

Socket Docker

Afin de pouvoir être utilisé comme une sonde pour pouvoir observer l'état de vos conteneurs Docker, ce dernier a besoin de communiquer sur le même socket que celui utilisé par l'hôte Docker.

Pour cela, le volume suivant est utilisé.

yaml
services:
  uptime-kuma:
    container_name: uptime-kuma
    image: louislam/uptime-kuma:1.23.16-alpine
    restart: unless-stopped
    ports:
      - 3001:3001
    volumes:
      - ./uptime-kuma:/app/data
      - /var/run/docker.sock:/var/run/docker.sock 

Il est impératif de garder cette ligne, sinon vous ne pourrez pas communiquer avec les autres conteneurs, ce qui est nécessaire lorsque vous souhaiterez ajouter une sonde pour observer l'état d'un ou plusieurs conteneurs Docker par la suite dans l'interface de configuration pour Uptime Kuma.

Service de test

Afin de pouvoir tester le bon fonctionnement de Uptime Kuma, nous allong rajouter un autre service de test.

Pour cela, nous allons utiliser l'image Docker pour Nginx.

Rajoutons ce service dans notre configuration actuelle.

yaml
services:
  uptime-kuma:
    container_name: uptime-kuma
    image: louislam/uptime-kuma:1.23.16-alpine
    restart: unless-stopped
    ports:
      - 3001:3001
    volumes:
      - ./uptime-kuma:/app/data
      - /var/run/docker.sock:/var/run/docker.sock

  nginx: 
    container_name: nginx 
    image: nginx:1.27.4-alpine3.21 
    restart: unless-stopped 
    ports: 
      - 80:80 

Démarrage

Nous pouvons maintenant démarrer nos services, pour cela, nous allons utiliser Docker Compose.

bash
docker compose up

Nous n'avons pas lancé nos services en tâche de fond afin de pouvoir observer les logs, ce qui peut être utile en cas d'erreur.

Si tout s'est bien passé, vous pouvez vous rendre sur localhost:3001. Félicitations ! Vous venez de démarrer votre premier conteneur sur Uptime Kuma.

La suite, c'est de configurer une sonde pour pouvoir observer l'état de votre conteneur Nginx. Amusez-vous également à tester d'autres sondes qui sont disponibles dans l'interface de configuration pour Uptime Kuma.