• Home
  • Cloud VPS
    • Hong Kong VPS
    • US VPS
  • Dedicated Servers
    • Hong Kong Servers
    • US Servers
    • Singapore Servers
    • Japan Servers
  • Company
    • Contact Us
    • Blog
logo logo
  • Home
  • Cloud VPS
    • Hong Kong VPS
    • US VPS
  • Dedicated Servers
    • Hong Kong Servers
    • US Servers
    • Singapore Servers
    • Japan Servers
  • Company
    • Contact Us
    • Blog
ENEN
  • 简体简体
  • 繁體繁體
Client Area

How to Set Up Uptime Kuma on Hong Kong VPS: Self-Hosted Monitoring (2026)

July 18, 2026

Uptime Kuma is the most popular self-hosted monitoring tool — a beautiful, feature-rich alternative to Uptime Robot and Pingdom that runs on your own infrastructure. Deployed on a Hong Kong VPS, it monitors your websites, APIs, databases, and TCP services from an Asian vantage point, providing monitoring checks that reflect what your Asia-Pacific users actually experience rather than checks from US or European monitoring nodes.


Why Monitor from Hong Kong?

  • Regional accuracy — a monitoring check from Hong Kong tests CN2 GIA routing to mainland China, Taiwan latency, and Asia-Pacific DNS resolution — the same path your users take
  • No false positives from US nodes — US-based monitoring services check from North America; a site that’s fast in the US but slow in China shows as “up” even while Chinese users experience 500ms load times
  • Self-hosted — your monitoring data, alert history, and status pages stay on your infrastructure without sharing uptime information with third-party SaaS
  • Unlimited monitors — Uptime Robot’s free tier allows 50 monitors; Uptime Kuma on your VPS supports unlimited monitors

Step 1: Install Uptime Kuma via Docker

apt update && apt upgrade -y
apt install -y docker.io docker-compose-plugin nginx certbot python3-certbot-nginx

mkdir -p /opt/uptimekuma

cat > /opt/uptimekuma/docker-compose.yml << 'EOF'
version: '3.8'
services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    restart: always
    ports:
      - "127.0.0.1:3001:3001"
    volumes:
      - ./data:/app/data
EOF

cd /opt/uptimekuma && docker compose up -d
docker compose logs -f  # Watch startup

Step 2: Configure Nginx with SSL

cat > /etc/nginx/sites-available/uptime << 'EOF'
server {
    listen 80;
    server_name status.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name status.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/status.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/status.yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 120s;
    }
}
EOF

ln -s /etc/nginx/sites-available/uptime /etc/nginx/sites-enabled/
certbot --nginx -d status.yourdomain.com
nginx -t && systemctl reload nginx

Step 3: Initial Setup

Visit https://status.yourdomain.com and create your admin account. Uptime Kuma redirects to the dashboard after login.


Step 4: Add Monitors

Click Add New Monitor for each service you want to track:

HTTPS Website Monitor

  • Monitor Type: HTTP(s)
  • Friendly Name: My Main Website
  • URL: https://yourdomain.com
  • Heartbeat Interval: 60 seconds
  • Enable “Monitor TLS/SSL Certificate Expiry”
  • Alert when cert expires in under 14 days

API Endpoint Monitor

  • Monitor Type: HTTP(s) — Keyword
  • URL: https://api.yourdomain.com/health
  • Keyword: {"status":"healthy"} — alerts if response doesn’t contain this
  • Heartbeat Interval: 30 seconds

Database TCP Monitor

  • Monitor Type: TCP Port
  • Hostname: 127.0.0.1 (or your DB server IP)
  • Port: 5432 (PostgreSQL) or 3306 (MySQL)

MQTT Broker Monitor

  • Monitor Type: MQTT
  • URL: mqtt://127.0.0.1
  • Port: 1883
  • Topic: uptime/ping

Docker Container Monitor

  • Monitor Type: Docker Container
  • Docker Container Name: myapp
  • Alerts when container stops running

Step 5: Configure Notification Channels

In Settings → Notifications → Setup Notification:

Telegram (Recommended for Asia Teams)

  1. Create a Telegram bot via @BotFather — get the bot token
  2. Get your chat ID: message @userinfobot in Telegram
  3. In Uptime Kuma: Notification Type → Telegram, enter token and chat ID
  4. Test the notification — you should receive a Telegram message instantly

WeChat Work (企业微信) Webhook

  1. In WeChat Work: Group chat → Settings → Group Robot → Add Robot → Copy webhook URL
  2. In Uptime Kuma: Notification Type → Webhook
  3. URL: your WeChat Work webhook URL
  4. Body: {"msgtype":"text","text":{"content":"{{msg}}"}}

Email via SMTP

  • Notification Type: Email (SMTP)
  • Host: your SMTP server, Port: 587
  • Username/Password: SMTP credentials
  • To Email: your alert recipient

Step 6: Create a Public Status Page

Uptime Kuma includes a public status page for communicating service health to customers:

  1. Status Page → New Status Page
  2. Set a slug: status (accessible at https://status.yourdomain.com/status/status)
  3. Title: “Service Status” or your brand name
  4. Add monitors to the status page — choose which services to display publicly
  5. Enable “Show tags” to group services (Web, API, Database)
  6. Set custom domain: status.yourdomain.com (optional — requires separate DNS)

Your status page shows real-time uptime history, current status, and incident history. Share the URL with customers so they can check service status independently during incidents.


Step 7: Maintenance Windows

Schedule maintenance windows to suppress false alerts during planned downtime:

Settings → Maintenance → Schedule Maintenance

  • Title: “Weekly database maintenance”
  • Strategy: Recurring (every Sunday 02:00–04:00 HKT)
  • Apply to: select affected monitors

During the maintenance window, monitors continue checking but do not send notifications and mark the outage as planned on the status page.


Step 8: Monitor from Multiple Locations

For critical services, monitoring from a single Hong Kong VPS creates a blind spot — if the VPS itself has network issues, you get false alerts. Add secondary monitoring from a different location:

<code"># Install a lightweight secondary monitoring agent on a different VPS
# (e.g., your US dedicated server or Singapore VPS)
# Point it at the same Uptime Kuma instance via the API

# Uptime Kuma supports push monitoring — your secondary agent
# pushes heartbeats to HK Uptime Kuma:

# In Uptime Kuma: Add Monitor → Type: Push
# Copy the push URL: https://status.yourdomain.com/api/push/TOKEN

# On secondary server — send heartbeat every 60 seconds
# (install as a cron job):
* * * * * curl -s "https://status.yourdomain.com/api/push/YOUR_TOKEN?status=up&msg=OK&ping=" > /dev/null

Automated Backups

<code">crontab -l | { cat; echo "0 3 * * * tar czf /opt/backups/uptimekuma_\$(date +\%Y\%m\%d).tar.gz /opt/uptimekuma/data/ && find /opt/backups/ -name 'uptimekuma_*' -mtime +14 -delete"; } | crontab -

Conclusion

Uptime Kuma on a Hong Kong VPS provides monitoring from the Asia-Pacific vantage point that matters most for your users — checking response times over CN2 GIA routing to mainland China, testing DNS resolution from Hong Kong, and verifying TLS certificates with the same network path your customers use. Unlimited monitors, public status pages, and multi-channel notifications (Telegram, WeChat Work, email) make it a complete monitoring solution at the cost of a few MB of your existing VPS resources.

Start monitoring: Browse Server.HK Hong Kong VPS plans — Uptime Kuma runs comfortably alongside your other applications on any plan.

Recent Posts

  • Hong Kong VPS vs Cloudflare Workers: Which for Asia-Pacific APIs? (2026)
  • How to Self-Host Gitea on Hong Kong VPS: Private Git Server (2026)
  • WooCommerce for China Market on Hong Kong VPS: Sell Cross-Border in 2026
  • Game Server on Hong Kong VPS: CS2, Valheim, and Minecraft for Asia (2026)
  • Linux Kernel and Sysctl Hardening for Hong Kong VPS Security (2026)

Recent Comments

  1. Hong Kong VPS Uptime and SLA: What 99.9% Uptime Really Means for Your Business (2026) - Server.HK on How to Monitor Your Hong Kong VPS: Uptime, Performance, and Alert Setup Guide (2026)
  2. Best Hong Kong VPS Providers in 2026: Compared by Speed, Routing, and Value - Server.HK on How to Migrate Your Website to a Hong Kong VPS: Zero-Downtime Transfer Guide (2026)
  3. vibramycin injection on How to Choose the Right Hong Kong VPS Plan: A Buyer’s Guide for 2026
  4. allopurinol for gout on CN2 GIA vs BGP vs CN2 GT: What’s the Real Difference for China Connectivity?
  5. antibiotics online purchase on How to Set Up a WordPress Site on a Hong Kong VPS with aaPanel (Step-by-Step 2026)

Knowledge Base

Access detailed guides, tutorials, and resources.

Live Chat

Get instant help 24/7 from our support team.

Send Ticket

Our team typically responds within 10 minutes.

logo
Alipay Cc-paypal Cc-stripe Cc-visa Cc-mastercard Bitcoin
Cloud VPS
  • Hong Kong VPS
  • US VPS
Dedicated Servers
  • Hong Kong Servers
  • US Servers
  • Singapore Servers
  • Japan Servers
More
  • Contact Us
  • Blog
  • Legal
© 2026 Server.HK | Hosting Limited, Hong Kong | Company Registration No. 77008912
Telegram
Telegram @ServerHKBot