- Uptime Kuma is an open source, self-hosted alternative that allows you to monitor the availability of web services, TCP ports, and Docker containers.
- The system offers a massive notification ecosystem integrated with over 90 services such as Telegram, Discord, and Slack.
- It allows the creation of public status pages to inform users about the operation of the infrastructure without exposing sensitive data.

How to monitor a TCP port with Uptime Kuma? Imagine waking up at three in the morning because a critical service at your company has crashed, or worse, finding out days later because an angry customer emailed you. For anyone managing a server, whether it's a NAS in their living room or a professional infrastructure, knowing that everything is running smoothly is crucial. essential to maintain healthIn the past, assembling something like this was a real headache that required reading endless manuals and testing until exhaustion.
Fortunately, today we have tools like Uptime Kuma, which have simplified the lives of sysadmins. It's a solution lightweight and extremely powerful which you can deploy in a matter of minutes, allowing you to have total control over your devices without relying on expensive monthly subscriptions or sending your data to third-party companies.
What exactly is Uptime Kuma and what is it used for?

Basically, it's an open-source availability monitoring system developed in Node.js. What makes it special is its modern and highly intuitive web interfaceThis means you don't need to be a networking expert to start monitoring your services. You can install it natively, although the most common and recommended approach is to use Docker containers to avoid dependency issues.
This tool acts as a 24/7 monitor, sending requests to your services and, if any don't respond as expected, it sends you an immediate alert. It's the perfect midpoint between overly complex solutions like Prometheus and closed commercial services like UptimeRobot.
Available monitoring types

Kuma's greatest strength lies in the variety of "checks" it can perform. It doesn't just check if a website loads, but delves into different levels of the network:
- HTTP and HTTPS: Verify that a URL returns the correct status code (for example, a 200 OK). It even allows you to search for a specific keyword in the body of the page to ensure that the service is not returning a "faked" error page.
- TCP Ports: It is the ideal option for monitoring databases (such as MySQL on the 3306 or PostgreSQL on the 5432) or messaging services and queues, verifying that the The port is open and accepting connections.
- Ping (ICMP): The most basic and straightforward check. It verifies that the device is powered on and connected to the network, but does not guarantee that the specific service is functioning.
- Docker containers: If you connect the Docker socket, Kuma can tell you if a The specific container is in a running state..
- Other services: It supports DNS queries, Steam game servers, MQTT, gRPC, and monitoring of the SSL certificate expiration so you don't forget to renew them.
Step-by-step installation and deployment

The cleanest way to set up Uptime Kuma is using Docker Compose. First, it's recommended to create a dedicated directory on your server and generate a file. docker-compose.ymlIn this file you must define the official image (louislam/uptime-kuma), map port 3001 and, very importantly, configure a persistent volume in /app/data so that you don't lose all your settings if the container restarts.
If you prefer the manual method, you can clone the GitHub repository, run npm run setup and manage the process with PM2 to ensure the application Start automatically with the systemOnce deployed, you access it through the browser, create your administrator user with a strong password, and you're already inside the control panel.
Alert and notification settings

It's useless to have a monitor if you don't know when something has gone wrong. Uptime Kuma stands out for its Integration with over 90 notification servicesThe most popular among users are:
- Telegram: Creating a bot through @BotFather and linking the Token and Chat ID. It's probably the fastest and most convenient way to receive alerts on your mobile phone.
- Discord and Slack: Using inbound webhooks, which allows notifications to reach a specific team channel directly.
- Email (SMTP): Configuring your mail server settings. It's vital to use application passwords if you use services like Gmail.
Advanced Management: Status and Maintenance Pages
For those who offer services to third parties, status pages are a goldmine. They allow you to create a public URL where any user can see if the services are operational, preventing technical support from being overwhelmed with questions like "Is the website down?". organize the monitors into groups and customize the appearance with CSS.
Additionally, to prevent the system from bombarding you with false alerts during a scheduled update, there are the maintenance windowsBy activating them, Kuma pauses notifications and marks the service as "under maintenance" on the status page, thus maintaining a clean availability history and without fake falls.
Optimization tips and best practices
For the system to run like clockwork, it's best not to leave the default settings. A common mistake is setting overly aggressive check intervals (like every 20 seconds), which can cause problems. Unnecessary load on the server and noise in notifications. For most services, a 60-second interval is more than enough.
Another critical point is security. If you're going to expose the interface to the internet, it's essential to place it behind a... reverse proxy as Nginx Proxy ManagerTraefik or Caddy to manage HTTPS and SSL certificates. Also, don't forget to perform regular backups from the data directory, since that's where all the intelligence of the system resides.
If you ever experience connection errors (such as the infamous EHOSTUNREACH), check that the Docker container has network visibility to the host or the destination device. Sometimes, Windows firewalls or VM network configurations can block TCP traffic, causing the monitor to flag the service as down even though it is running.
Implementing a self-hosted monitoring solution allows you to move from reactive to proactive management, detecting incidents before end users do. By combining TCP port monitoring, SSL certificate tracking, and the power of instant notifications, you can achieve... robust and transparent infrastructure that minimizes downtime and maximizes the reliability of any digital ecosystem, whether home or business.
Passionate about technology since he was little. I love being up to date in the sector and, above all, communicating it. That is why I have been dedicated to communication on technology and video game websites for many years. You can find me writing about Android, Windows, MacOS, iOS, Nintendo or any other related topic that comes to mind.