<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://serverrental.store/index.php?action=history&amp;feed=atom&amp;title=Setting_Up_Uptime_Monitoring</id>
	<title>Setting Up Uptime Monitoring - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://serverrental.store/index.php?action=history&amp;feed=atom&amp;title=Setting_Up_Uptime_Monitoring"/>
	<link rel="alternate" type="text/html" href="https://serverrental.store/index.php?title=Setting_Up_Uptime_Monitoring&amp;action=history"/>
	<updated>2026-04-15T12:42:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://serverrental.store/index.php?title=Setting_Up_Uptime_Monitoring&amp;diff=5796&amp;oldid=prev</id>
		<title>Admin: New server guide</title>
		<link rel="alternate" type="text/html" href="https://serverrental.store/index.php?title=Setting_Up_Uptime_Monitoring&amp;diff=5796&amp;oldid=prev"/>
		<updated>2026-04-13T10:01:48Z</updated>

		<summary type="html">&lt;p&gt;New server guide&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Setting Up Uptime Monitoring =&lt;br /&gt;
This guide details how to set up a self-hosted uptime monitoring solution using Uptime Kuma, a popular and user-friendly alternative to services like Pingdom. We will cover installation, configuration, and basic usage, along with considerations for setting up public status pages.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Ensuring your servers and services are consistently available is crucial for any system administrator. Downtime can lead to lost revenue, damaged reputation, and frustrated users. While commercial services offer robust monitoring, self-hosting provides greater control, privacy, and cost-effectiveness. Uptime Kuma is an excellent open-source tool that allows you to monitor various services, receive notifications, and display their status on a public page.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
Before you begin, ensure you have the following:&lt;br /&gt;
&lt;br /&gt;
*   A Linux server with root or sudo privileges. A VPS from providers like PowerVPS (https://powervps.net/?from=32) is a good option for hosting monitoring tools.&lt;br /&gt;
*   Docker and Docker Compose installed on your server. If not, follow the official Docker installation guide for your distribution.&lt;br /&gt;
*   Basic familiarity with the Linux command line.&lt;br /&gt;
*   (Optional) A domain name or subdomain for accessing your Uptime Kuma instance and its status page.&lt;br /&gt;
&lt;br /&gt;
== Installing Uptime Kuma with Docker Compose ==&lt;br /&gt;
Using Docker Compose simplifies the installation and management of Uptime Kuma.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Create a Docker Compose File ===&lt;br /&gt;
Create a directory for your Uptime Kuma installation and navigate into it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir uptime-kuma&lt;br /&gt;
cd uptime-kuma&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a file named &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; with the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: '3.8'&lt;br /&gt;
&lt;br /&gt;
services:&lt;br /&gt;
  uptime-kuma:&lt;br /&gt;
    image: louislam/uptime-kuma:1&lt;br /&gt;
    container_name: uptime-kuma&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;3001:3001&amp;quot;&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./data:/app/data&lt;br /&gt;
      - /etc/localtime:/etc/localtime:ro&lt;br /&gt;
    environment:&lt;br /&gt;
      - NODE_ENV=production&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*   &amp;lt;code&amp;gt;image: louislam/uptime-kuma:1&amp;lt;/code&amp;gt;: Specifies the Uptime Kuma Docker image.&lt;br /&gt;
*   &amp;lt;code&amp;gt;container_name: uptime-kuma&amp;lt;/code&amp;gt;: Assigns a friendly name to the container.&lt;br /&gt;
*   &amp;lt;code&amp;gt;restart: unless-stopped&amp;lt;/code&amp;gt;: Ensures the container restarts automatically if it crashes or the server reboots.&lt;br /&gt;
*   &amp;lt;code&amp;gt;ports: - &amp;quot;3001:3001&amp;quot;&amp;lt;/code&amp;gt;: Maps port 3001 on your host machine to port 3001 inside the container, which is Uptime Kuma's default port.&lt;br /&gt;
*   &amp;lt;code&amp;gt;volumes: - ./data:/app/data&amp;lt;/code&amp;gt;: This is crucial for data persistence. It maps a local directory named &amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; within your &amp;lt;code&amp;gt;uptime-kuma&amp;lt;/code&amp;gt; folder to the container's data directory, ensuring your monitoring configurations are saved even if the container is removed and recreated.&lt;br /&gt;
*   &amp;lt;code&amp;gt;volumes: - /etc/localtime:/etc/localtime:ro&amp;lt;/code&amp;gt;: Syncs the container's time with your host system's time.&lt;br /&gt;
*   &amp;lt;code&amp;gt;environment: - NODE_ENV=production&amp;lt;/code&amp;gt;: Sets the environment to production for optimal performance.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Start Uptime Kuma ===&lt;br /&gt;
Run the following command in the same directory as your &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker-compose up -d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; flag runs the container in detached mode, meaning it will run in the background.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Access Uptime Kuma ===&lt;br /&gt;
Open your web browser and navigate to &amp;lt;code&amp;gt;http://your_server_ip:3001&amp;lt;/code&amp;gt;. You should see the Uptime Kuma setup page.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Initial Setup ===&lt;br /&gt;
On the first visit, you will be prompted to create an administrator account. Enter a strong password and click &amp;quot;Save&amp;quot;. You will then be redirected to the Uptime Kuma dashboard.&lt;br /&gt;
&lt;br /&gt;
== Adding Monitors ==&lt;br /&gt;
The Uptime Kuma dashboard is where you'll add and manage your monitors.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Click &amp;quot;Add New Monitor&amp;quot; ===&lt;br /&gt;
On the dashboard, click the prominent &amp;quot;Add New Monitor&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Configure Monitor Type ===&lt;br /&gt;
Uptime Kuma supports various monitor types:&lt;br /&gt;
&lt;br /&gt;
*   **HTTP(s):** Checks if a web server is responding with a 2xx status code.&lt;br /&gt;
*   **TCP:** Checks if a specific port is open and listening.&lt;br /&gt;
*   **Ping:** Sends ICMP echo requests to an IP address or hostname.&lt;br /&gt;
*   **Keyword:** Checks if a specific keyword exists on a web page.&lt;br /&gt;
*   **Docker:** Monitors the status of Docker containers.&lt;br /&gt;
*   ** and many more...**&lt;br /&gt;
&lt;br /&gt;
For example, to monitor a website:&lt;br /&gt;
*   Select &amp;quot;HTTP(s)&amp;quot;.&lt;br /&gt;
*   Enter the URL (e.g., &amp;lt;code&amp;gt;https://yourwebsite.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Give it a name (e.g., &amp;quot;My Website&amp;quot;).&lt;br /&gt;
*   Set the interval (e.g., every 1 minute).&lt;br /&gt;
*   Configure advanced settings like expected status code (e.g., 200) or response time thresholds if needed.&lt;br /&gt;
&lt;br /&gt;
For example, to monitor a database on a specific port:&lt;br /&gt;
*   Select &amp;quot;TCP&amp;quot;.&lt;br /&gt;
*   Enter the hostname or IP address (e.g., &amp;lt;code&amp;gt;db.yourdomain.com&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;192.168.1.10&amp;lt;/code&amp;gt;).&lt;br /&gt;
*   Enter the port number (e.g., &amp;lt;code&amp;gt;5432&amp;lt;/code&amp;gt; for PostgreSQL, &amp;lt;code&amp;gt;3306&amp;lt;/code&amp;gt; for MySQL).&lt;br /&gt;
*   Give it a name (e.g., &amp;quot;Database Server&amp;quot;).&lt;br /&gt;
*   Set the interval.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Save the Monitor ===&lt;br /&gt;
Click &amp;quot;Save&amp;quot; to add the monitor. Uptime Kuma will immediately start checking its status.&lt;br /&gt;
&lt;br /&gt;
== Setting Up Notifications ==&lt;br /&gt;
Receiving alerts when a service goes down is essential. Uptime Kuma integrates with numerous notification services.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Navigate to &amp;quot;Settings&amp;quot; ===&lt;br /&gt;
Click on the &amp;quot;Settings&amp;quot; icon (gear) in the top-right corner of the dashboard.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Go to &amp;quot;Notification Services&amp;quot; ===&lt;br /&gt;
Select &amp;quot;Notification Services&amp;quot; from the left-hand menu.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Add a Notification Service ===&lt;br /&gt;
Click &amp;quot;Add Notification Service&amp;quot;. Choose your preferred service from the list (e.g., Telegram, Discord, Slack, Email, Webhook).&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Configure the Service ===&lt;br /&gt;
Follow the on-screen instructions to configure your chosen service. This typically involves providing API keys, tokens, or webhook URLs. For example, for Telegram, you would need your Bot Token and Chat ID.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Assign Monitors to Notifications ===&lt;br /&gt;
After setting up a notification service, go back to your monitor's configuration (edit the monitor and scroll down to the &amp;quot;Notifications&amp;quot; section). Select the notification service you just added to receive alerts for that specific monitor.&lt;br /&gt;
&lt;br /&gt;
== Public Status Page ==&lt;br /&gt;
Uptime Kuma can generate a public-facing status page to inform your users about the availability of your services.&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Enable Status Page ===&lt;br /&gt;
Go to &amp;quot;Settings&amp;quot; &amp;gt; &amp;quot;Status Page&amp;quot;. Toggle the &amp;quot;Enable Status Page&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Configure Status Page Appearance ===&lt;br /&gt;
You can customize the title, logo, and theme of your status page.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Add Monitors to Status Page ===&lt;br /&gt;
On the &amp;quot;Status Page&amp;quot; settings, you can select which monitors you want to display on the public page.&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Access Your Status Page ===&lt;br /&gt;
Your status page will be available at &amp;lt;code&amp;gt;http://your_server_ip:3001/status&amp;lt;/code&amp;gt; by default. If you have configured a custom domain with a reverse proxy (e.g., Nginx or Caddy), you can access it via that domain.&lt;br /&gt;
&lt;br /&gt;
== Advanced Configurations ==&lt;br /&gt;
=== Reverse Proxy with Nginx ===&lt;br /&gt;
To access Uptime Kuma via a custom domain (e.g., &amp;lt;code&amp;gt;status.yourdomain.com&amp;lt;/code&amp;gt;) and secure it with SSL, you can set up a reverse proxy with Nginx.&lt;br /&gt;
&lt;br /&gt;
First, ensure you have Nginx installed and running. Then, create an Nginx configuration file (e.g., &amp;lt;code&amp;gt;/etc/nginx/sites-available/uptime-kuma&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen 80;&lt;br /&gt;
    server_name status.yourdomain.com;&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        proxy_pass http://127.0.0.1:3001;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $host;&lt;br /&gt;
        proxy_set_header X-Real-IP $remote_addr;&lt;br /&gt;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br /&gt;
        proxy_set_header X-Forwarded-Proto $scheme;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Enable the site and restart Nginx:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ln -s /etc/nginx/sites-available/uptime-kuma /etc/nginx/sites-enabled/&lt;br /&gt;
sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can then use Certbot to obtain an SSL certificate for &amp;lt;code&amp;gt;status.yourdomain.com&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== High Availability and Redundancy ===&lt;br /&gt;
For critical monitoring, consider running multiple Uptime Kuma instances on different servers or even in different geographic locations. For example, you could host a primary instance on a VPS from PowerVPS (https://powervps.net/?from=32) and a secondary instance on a cloud GPU provider like Immers Cloud GPU (https://en.immers.cloud/signup/r/20241007-8310688-334/) for failover.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
*   **Uptime Kuma not starting:** Check Docker logs using &amp;lt;code&amp;gt;docker logs uptime-kuma&amp;lt;/code&amp;gt;. Ensure port 3001 is not already in use on your host.&lt;br /&gt;
*   **Monitors not reporting status:**&lt;br /&gt;
    *   Verify the monitor's configuration (URL, IP, port).&lt;br /&gt;
    *   Ensure the server running Uptime Kuma can reach the target service (check firewalls).&lt;br /&gt;
    *   For HTTP monitors, check if the expected status code is correct.&lt;br /&gt;
*   **Notifications not sending:**&lt;br /&gt;
    *   Double-check your notification service credentials and configuration.&lt;br /&gt;
    *   Test the notification service directly if possible.&lt;br /&gt;
    *   Check Uptime Kuma's logs for any errors related to notifications.&lt;br /&gt;
*   **Status page not accessible:**&lt;br /&gt;
    *   Ensure the status page is enabled in Uptime Kuma settings.&lt;br /&gt;
    *   If using a reverse proxy, check Nginx/Caddy logs and configuration.&lt;br /&gt;
    *   Verify firewall rules allow access to the Uptime Kuma port or your reverse proxy's port.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*   [[Introduction to Docker]]&lt;br /&gt;
*   [[Nginx Reverse Proxy Setup]]&lt;br /&gt;
*   [[Server Security Best Practices]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Monitoring]]&lt;br /&gt;
[[Category:Self-Hosted Applications]]&lt;br /&gt;
[[Category:Docker]]&lt;br /&gt;
&lt;br /&gt;
{{Exchange Box}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>