Monitor EVERYTHING! Simple homelab monitoring for servers, websites, and more!
Setting up monitoring on your homelab is crucial. Get alerted when anything goes down, configure settings, and be confident your homelab services are all working appropriately.
Uptime-Kuma github:
https://github.com/louislam/uptime-kuma
Uptime-Kuma installation instrucitons:
https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install
Install NVM on ubuntu:
sudo apt install curl, git
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.bashrc
Install Node 20
nvm install 20
Use Node 20
nvm use 20
check that node and npm are working:
node -v
npm -v
Get uptime kuma and start setup
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
Install pm2 and logrotate
npm install pm2 -g && pm2 install pm2-logrotate
start your server with pm2
pm2 start server/server.js –name uptime-kuma
setup startup service to ensure uptime kuma starts on boot
pm2 save && pm2 startup
ensure that you copy the command from your terminal and run it to get startup working appropriately
Simple monitoring:
DNS – use this to monitor any domains and DNS entries you want
Ping – simply pings a machine and returns a response, good for checking that a machine is running
HTTP(s) – use this to pull an actual webpage and check that you got a response
** A note about SSL
When I initially was running uptime kuma at first it was confused about SSL certs and thought it was getting the wrong ones, the next day this magically resolved itself, so you can ignore ssl cert errors if you are confident your ssl certs are correct, and you can likely come back and unignore them later
Grouping if your friend, setup groups to be able to monitor things more easily
Setting up notifications:
Discord
go to your own discord channel
right click on your channel name
server settings — integrations — view webhooks — new webhook
copy the webhook URL
save the webhook in discord
in uptime kuma paste the webhook URL
check default enabled if you want
check apply on all existing monitors if you want
test and save
by FE-Engineer
linux dns server
for your minecraft server, 19132 is desired for Geysermc and it stands as a UDP port. However, 25565, which is the default port, stands on TCP protocol.