Vad är Uptime Kuma?

Uptime Kuma är ett självhostat övervakningsverktyg. Det kontrollerar webbplatser, TCP-portar, DNS-poster, Docker-containrar och annat med regelbundna intervall, skickar en avisering när något slutar fungera och kan publicera statussidor. Projektet tillhandahåller en officiell image, louislam/uptime-kuma, som lyssnar på port 3001 och lagrar allt i en /app/data-mapp.

Verktygsbeskrivning

Det här verktyget skapar en compose.yaml för Uptime Kuma. Det utgår från filen i Uptime Kumas repository och lägger till de inställningar som man vanligtvis behöver: image-version och variant, värdport och bind-adress, var data lagras, åtkomst till Docker-socketen för Docker-värdövervakare samt databasen. Om du väljer MariaDB i en egen container lägger verktyget till en andra tjänst med en hälsokontroll, så att Uptime Kuma startar först när databasen är redo. Inställningar som formuläret saknar fält för kan läggas till som miljövariabler. Allt skapas i webbläsaren.

Funktioner

  • Image-taggarna 2, 1 och beta, med varianterna standard, slim, rootless och slim rootless för version 2
  • Värdport och en bind-adress, till exempel 127.0.0.1, för användning bakom en reverse proxy
  • En datamapp på värden eller en namngiven Docker-volym, som deklareras åt dig
  • Valfri åtkomst till /var/run/docker.sock för Docker-värdövervakare, med en varning om vad detta ger åtkomst till
  • SQLite, den inbyggda MariaDB, en MariaDB-container som läggs till i filen eller en extern MariaDB-server
  • Ett genererat databaslösenord, där $-tecken escape:as så att Compose bevarar dem
  • Alternativ för inbäddning i en iframe, kontroll av WebSocket-origin och en Cloudflare Tunnel-token
  • Valfri annan miljövariabel, kommentarer som förklarar filen och nedladdning som compose.yaml

Exempel

Standardinställningarna ger samma fil som den i Uptime Kumas repository:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    ports:
      - "3001:3001"
    volumes:
      - ./data:/app/data
    restart: unless-stopped

Om du väljer en MariaDB-container som databas läggs tjänsten mariadb till och Uptime Kuma ansluts till den med UPTIME_KUMA_DB_TYPE, UPTIME_KUMA_DB_HOSTNAME och de andra UPTIME_KUMA_DB_*-variablerna.

Tips

  • Spara resultatet som compose.yaml i en tom mapp och starta det med docker compose up -d. Öppna sedan http://localhost:3001
  • Filsystem som NFS stöds inte för datamappen. Använd en lokal mapp eller en Docker-volym
  • Slim-images innehåller inte Chromium, som övervakaren för riktiga webbläsare behöver, och de innehåller inte den inbyggda MariaDB
  • Rootless-images körs som användaren node med UID 1000, så en datamapp på värden måste vara skrivbar för den användaren
  • Uptime Kuma använder WebSockets. När du placerar det bakom en reverse proxy måste proxyn vidarebefordra header-fälten Upgrade och Connection
  • Docker-socketen ger Uptime Kuma full kontroll över Docker på värden. Montera den endast när du behöver Docker-värdövervakare och exponera inte Uptime Kuma mot internet
  • Version 1 stöder endast SQLite, så databasalternativen döljs för den
  • Lösenordsfält sparas i filen i klartext. Håll filen privat eller flytta lösenordet till en .env-fil och referera till det som ${DB_PASSWORD}