Uptime Kuma is an easy-to-use self-hosted monitoring tool.
docker run -d --restart=always -p 5556:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Uptime Kuma is now running on http://0.0.0.0:5556
sudo nano /etc/nginx/sites-available/uptime-kuma
server {
listen 80;
# Remove '#' in the next line to enable IPv6
# listen [::]:80;
server_name status.example.com;
location / {
proxy_pass http://localhost:5556;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
sudo ln -s /etc/nginx/sites/available/uptime-kuma /etc/nginx/sites-enabled/
Installing Certbot: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-22-04
Add an A record for status.example.com
pointing to the server's public IP address.
sudo certbot --nginx -d status.example.com
sudo systemctl restart nginx