Er du som jeg, en der elsker at rodde med og lære nye ting, så er det altid fedt med en service der kan give besked hvis noget fejler. Her kommer Uptime Kuma ind i billedet…


Hvad er Uptime Kuma?
Selve projektet kan du læse mere om her.

Jeg ledte med lys og lygte i noget tid efter en sådan service, jeg selv kunne hoste. Jeg er ikke interesseret i at betale mange penge for en uptime service når det bare er til hobby projekter. Men at finde noget der virker har taget mig lidt tid.

Det viser sig nemlig at enten er projektet dødt eller lige ved at være det.
Der er nogle få som stadigvæk fungerer, men noget jeg selv havde sat næsen op efter var i sin tid, statping, det virkede så super godt. Men udviklingen gik i stå og jeg måtte se mig om efter noget andet.

Så en dag efter en særdeles heldig søgning stødte jeg på Uptime Kuma.
Jeg har det selv kørende pt på fzlr.io’s status side.


Opsætning:

Jeg kører det via disse par kommandoer som jeg faktisk slet ikke har rettet på.

docker volume create uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

Og så skal du have lavet rettelser i din reverse proxy. Det er der udmærket dokumentation om her.

Når det hele er kørt igennem kan du hoppe ind på http://IP:PORT for at finde din instans af uptime kuma og så guider den dig videre.

Det hele er rigtig intuitivt at sætte op og jeg har ikke haft en funktion jeg desperat har haft brug for. Den virker til at være ret godt hente i udviklingen.


Beskytte en af dine status sider (nginx).

Du skal ind under din server blok hvor du har proxied til uptime kuma, hos mig er det status.fzlr.io. Jeg har så også nogle oppetiders statistikker på nogle interne services jeg ikke gider andre skal sidde og snage i, så jeg har fået beskyttet det med .htpasswd igennem nginx (dette forudsætter du allerede har opsat .htpasswd fil igennem nginx – find ud af hvordan HER.)

Jeg har så oprettet en status side i Uptime Kuma der hedder internal så dvs at adressen ender med at blive: https://status.fzlr.io/status/internal

Jeg har så tilføjet flg under server blokken for status.fzlr.io lige under location / blokken som blev indstillet via hjemmesiden ovenover.

  location = /status/internal {
    auth_basic "Restricted access.";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://localhost:3001;
}

Den fanger alle der forsøger at gå på status.fzlr.io/status/internal og beder dem indtaste kodeord.

Derefter skal nginx genstartes.

Hvis du ikke kan få det til at virke så er der masser af support at hente på projektets github side som jeg linkede til foroven.

Categories:

Tags: