Add update-kuma monitoring tool

This commit is contained in:
2024-02-17 18:49:44 +01:00
parent 2fa462c0ee
commit 6ea54b1218

View File

@@ -0,0 +1,97 @@
:PROPERTIES:
:ID: e5e49b61-ee56-4364-a96e-48d72217ef95
:mtime: 20240217184904
:ctime: 20240215223404
:END:
#+title: uptime-kuma
* Installation
#+BEGIN_SRC shell
cd /opt
mkdir uptime-kuma
chown ubuntu:ubuntu uptime-kuma/
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
npm install vite
npm run build
useradd -m --system uptime
cat <<EOF > /usr/lib/systemd/system/update-kuma.service
[Unit]
Description=Uptime-Kuma - A free and open source uptime monitoring solution
Documentation=https://github.com/louislam/uptime-kuma
After=network.target
[Service]
Type=simple
User=uptime
WorkingDirectory=/opt/uptime-kuma
ExecStart=/bin/bash -c 'PATH=/home/uptime/.n/bin:$PATH npm run start-server'
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now uptime-kuma
cat <<EOF > /etc/nginx/sites-available/uptime
server {
server_name tools.adrien.run;
listen 80;
listen [::]:80;
return 404;
}
server {
server_name uptime.tools.adrien.run;
listen 443 ssl http2;
listen [::]:443 ssl http2;
# SSL configuration
include /etc/nginx/ssl.conf;
ssl_certificate /etc/letsencrypt/live/uptime.tools.adrien.run/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/uptime.tools.adrien.run/privkey.pem;
# Logging configuration
access_log /var/log/nginx/uptime.access.log;
error_log /var/log/nginx/uptime.error.log;
root /opt/uptime-kuma;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:3002/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
server_name uptime.tools.adrien.run;
listen 80;
listen [::]:80;
if ($host = uptime.tools.adrien.run) {
return 301 https://$host$request_uri;
}
return 404;
}
EOF
systemctl restart nginx.service
certbot -d uptime.tools.adrien.run --nginx
#+END_SRC