Générateur Docker Compose pour Uptime Kuma
Créez un fichier compose.yaml pour Uptime Kuma. Choisissez la version et la variante de l'image, les ports, l'emplacement des données, la surveillance de Docker ainsi qu'une base de données SQLite ou MariaDB, puis obtenez un fichier prêt à être exécuté.
Entrée
Sortie
- Les systèmes de fichiers comme NFS ne sont pas pris en charge pour l’emplacement des données. Utilisez un dossier local ou un volume Docker.
Documentation
Qu’est-ce qu’Uptime Kuma ?
Uptime Kuma est un outil de supervision auto-hébergé. Il vérifie régulièrement les sites web, les ports TCP, les enregistrements DNS, les conteneurs Docker et bien plus encore, envoie une notification lorsqu’un service est indisponible et peut publier des pages d’état. Le projet fournit une image officielle, louislam/uptime-kuma, qui écoute sur le port 3001 et stocke tout dans un dossier /app/data.
Description de l’outil
Cet outil génère un fichier compose.yaml pour Uptime Kuma. Il part du fichier du dépôt Uptime Kuma et ajoute les paramètres dont les utilisateurs ont généralement besoin : la version et la variante de l’image, le port et l’adresse d’écoute de l’hôte, l’emplacement de stockage des données, l’accès au socket Docker pour les moniteurs d’hôtes Docker, ainsi que la base de données. Avec une base de données MariaDB dans son propre conteneur, l’outil ajoute un second service avec une vérification de santé, afin qu’Uptime Kuma ne démarre qu’une fois la base de données prête. Les paramètres pour lesquels le formulaire ne propose aucun champ peuvent être ajoutés sous forme de variables d’environnement. Tout est créé dans votre navigateur.
Fonctionnalités
- Les tags d’image
2,1etbeta, avec les variantes standard, slim, rootless et slim rootless de la version 2 - Le port de l’hôte et une adresse d’écoute telle que
127.0.0.1pour une utilisation derrière un proxy inverse - Un dossier de données sur l’hôte ou un volume Docker nommé, déclaré automatiquement pour vous
- L’accès facultatif à
/var/run/docker.sockpour les moniteurs d’hôtes Docker, avec un avertissement sur les droits ainsi accordés - SQLite, la base MariaDB intégrée, un conteneur MariaDB ajouté au fichier ou un serveur MariaDB externe
- Un mot de passe de base de données généré automatiquement, avec les signes
$échappés afin que Compose les conserve - Des options pour l’intégration dans une iframe, la vérification de l’origine WebSocket et un token Cloudflare Tunnel
- Toute autre variable d’environnement, des commentaires expliquant le fichier et un téléchargement sous le nom
compose.yaml
Exemples
Les paramètres par défaut produisent le même fichier que celui du dépôt Uptime Kuma :
services:
uptime-kuma:
image: louislam/uptime-kuma:2
ports:
- "3001:3001"
volumes:
- ./data:/app/data
restart: unless-stoppedLe choix d’un conteneur MariaDB comme base de données ajoute un service mariadb et connecte Uptime Kuma à celui-ci avec UPTIME_KUMA_DB_TYPE, UPTIME_KUMA_DB_HOSTNAME et les autres variables UPTIME_KUMA_DB_*.
Conseils
- Enregistrez le résultat sous le nom
compose.yamldans un dossier vide et démarrez-le avecdocker compose up -d. Ouvrez ensuitehttp://localhost:3001 - Les systèmes de fichiers tels que NFS ne sont pas pris en charge pour le dossier de données. Utilisez un dossier local ou un volume Docker
- Les images slim n’incluent pas Chromium, dont le moniteur de navigateur réel a besoin, et elles n’incluent pas non plus la base MariaDB intégrée
- Les images rootless s’exécutent avec l’utilisateur
nodeet l’UID 1000 ; un dossier de données sur l’hôte doit donc être accessible en écriture pour cet utilisateur - Uptime Kuma utilise WebSockets. Lorsque vous le placez derrière un proxy inverse, celui-ci doit transmettre les en-têtes
UpgradeetConnection - Le socket Docker donne à Uptime Kuma un contrôle total sur Docker sur l’hôte. Ne montez ce socket que si vous avez besoin de moniteurs d’hôtes Docker et n’exposez pas Uptime Kuma sur Internet
- La version 1 prend uniquement en charge SQLite ; les options de base de données sont donc masquées pour cette version
- Les champs de mot de passe sont enregistrés en clair dans le fichier. Gardez le fichier privé ou déplacez le mot de passe dans un fichier
.envet référencez-le avec${DB_PASSWORD}