Server management

Install Uptime Kuma for website checks and outage notifications

Monitor from outside your application server and test both outage and recovery messages before relying on alerts.

6 min read
Bear figure and green status display monitoring servers

An external monitor can detect downtime before a customer reports it. If monitoring runs on the same machine as the website, a complete server outage may disable both the site and its alerts.

1. Choose the monitoring host

Prefer a separate server or network. This example requires Docker and Compose. The official project documents monitoring types and deployment options.

Use local persistent storage rather than NFS. Start with a test endpoint you control.

2. Create the deployment

Create /opt/uptime-kuma/compose.yaml:

yamlservices:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    restart: unless-stopped
    ports:
      - "127.0.0.1:3001:3001"
    volumes:
      - kuma_data:/app/data
volumes:
  kuma_data:
    name: uptime_kuma_data
bashcd /opt/uptime-kuma
sudo docker compose config
sudo docker compose up -d
sudo docker compose logs --tail 50

Record the deployed image before upgrading. A major-version migration deserves separate planning.

3. Create the administrator

From your computer:

bashssh -N -L 3001:127.0.0.1:3001 root@MONITOR_SERVER_IP

Open http://localhost:3001 and create the account. For later domain access, use an HTTPS reverse proxy as covered in Nginx Proxy Manager setup.

4. Add a meaningful check

Create an HTTP(s) monitor for the real HTTPS URL. A 60-second interval is a reasonable starting choice, not a mandatory value.

A working home page does not prove checkout or database writes work. Consider a health endpoint that reveals no sensitive data. A TCP check answers a narrower question than an application transaction.

5. Test the alert lifecycle

Configure a supported notification channel, send a test message and attach it to the monitor. Then deliberately stop a disposable service you control and verify both down and recovery notifications.

Adjust retries and maintenance windows to reduce noisy alerts. Do not interrupt production merely to test notifications.

6. Back up and troubleshoot

Stop the container during a maintenance window, take a consistent backup of uptime_kuma_data and restart it. Follow the Docker volume documentation for backup methods. Protect notification secrets in the backup.

If all checks fail, inspect the monitoring host's DNS and connectivity. If only one site fails, inspect IP restrictions or bot controls. If no alert arrives, check channel assignment and outbound access. See the broader uptime guide.