Hva er Uptime Kuma?

Uptime Kuma er et overvåkingsverktøy for egen drift. Det kontrollerer nettsteder, TCP-porter, DNS-poster, Docker-containere og mer med jevne mellomrom, sender et varsel når noe går ned, og kan publisere statussider. Prosjektet tilbyr et offisielt image, louislam/uptime-kuma, som lytter på port 3001 og lagrer alt i en /app/data-mappe.

Verktøybeskrivelse

Dette verktøyet bygger en compose.yaml for Uptime Kuma. Det tar utgangspunkt i filen i Uptime Kuma-repositoriet og legger til innstillingene man vanligvis trenger: image-versjon og variant, vertsport og bind-adresse, hvor dataene lagres, tilgang til Docker-socketen for Docker-vertsmonitorer og databasen. Når MariaDB brukes i sin egen container, legger verktøyet til en ekstra tjeneste med en helsesjekk, slik at Uptime Kuma ikke starter før databasen er klar. Innstillinger som skjemaet ikke har et felt for, kan legges til som miljøvariabler. Alt opprettes i nettleseren din.

Funksjoner

  • Image-taggene 2, 1 og beta, med variantene standard, slim, rootless og slim rootless for versjon 2
  • Vertsport og en bind-adresse, for eksempel 127.0.0.1, for bruk bak en reverse proxy
  • En datamappe på verten eller et navngitt Docker-volum, som deklareres for deg
  • Valgfri tilgang til /var/run/docker.sock for Docker-vertsmonitorer, med en advarsel om hva dette gir tilgang til
  • SQLite, den innebygde MariaDB-databasen, en MariaDB-container som legges til i filen, eller en ekstern MariaDB-server
  • Et generert databasepassord, der $-tegn escapes slik at Compose beholder dem
  • Alternativer for innebygging i en iframe, kontroll av WebSocket-opprinnelse og et Cloudflare Tunnel-token
  • Alle andre miljøvariabler, kommentarer som forklarer filen, og nedlasting som compose.yaml

Eksempler

Standardinnstillingene gir samme fil som den i Uptime Kuma-repositoriet:

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

Hvis du velger en MariaDB-container som database, legges tjenesten mariadb til, og Uptime Kuma kobles til den med UPTIME_KUMA_DB_TYPE, UPTIME_KUMA_DB_HOSTNAME og de andre UPTIME_KUMA_DB_*-variablene.

Tips

  • Lagre resultatet som compose.yaml i en tom mappe, og start det med docker compose up -d. Åpne deretter http://localhost:3001
  • Filsystemer som NFS støttes ikke for datamappen. Bruk en lokal mappe eller et Docker-volum
  • Slim-images inkluderer ikke Chromium, som den virkelige nettlesermonitoren trenger, og de inkluderer heller ikke den innebygde MariaDB-databasen
  • Rootless-images kjører som brukeren node med UID 1000, så en datamappe på verten må være skrivbar for denne brukeren
  • Uptime Kuma bruker WebSockets. Når du plasserer det bak en reverse proxy, må proxyen videresende topptekstene Upgrade og Connection
  • Docker-socketen gir Uptime Kuma full kontroll over Docker på verten. Monter den bare når du trenger Docker-vertsmonitorer, og ikke eksponer Uptime Kuma mot internett
  • Versjon 1 støtter bare SQLite, så databasealternativene skjules for denne versjonen
  • Passordfelt lagres i klartekst i filen. Hold filen privat, eller flytt passordet til en .env-fil og referer til det som ${DB_PASSWORD}