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.
mkdir uptime-kuma-test
Nous pouvons maintenant changer le dossier de travail courant pour celui que nous venons de créer à l'instant.
cd uptime-kuma-test
Configuration
Maintenant, il nous suffit de créer le fichier suivant afin de pouvoir commencer à construire notre conteneur.
touch compose.yml
À l'intérieur, nous allons ajouter les lignes suivantes.
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.
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.
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é.
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.
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.
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.