Skip to content
InstallationNot reviewed

Install Uptime Kuma with Docker

Run the open source uptime monitor Uptime Kuma in a Docker container, following the project's own README: Docker Compose or a single docker run command, the data volume and the file-system limitation to know about.

This guide has not been reviewed by a person yet. Check every step against the linked documentation before you rely on it. It is not indexed by search engines.Review note: Written by an agent from the project's README; the first-run steps are general practice and labelled as such. Needs a person to test and review before publication.

Verified

Checked against

  • Uptime Kuma Docker image: louislam/uptime-kuma:2 (major-version tag) [readme]

Before you start

  • A Linux server or VM with Docker and the Docker Compose plugin installed.
  • A local disk or Docker volume for the data directory (not a network file system, see below).

Option A: Docker Compose

The README offers a ready-made compose file. It defines one service using the image louislam/uptime-kuma:2, restarts it unless stopped, stores data in ./data mounted at /app/data and publishes port 3001.[readme][compose]

mkdir uptime-kuma
cd uptime-kuma
curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml
docker compose up -d
From the project README. Source: Uptime Kuma README (installation)

Option B: a single docker run command

docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
From the project README. Data goes to the named volume uptime-kuma. Source: Uptime Kuma README (installation)

Uptime Kuma then listens on port 3001 on all network interfaces. The README shows how to bind it to localhost only by publishing the port as 127.0.0.1:3001:3001, which is what you want when a reverse proxy on the same host is the only way in.[readme]

Storage: no network file systems

The README states that network file systems such as NFS are not supported. Map /app/data to a local directory or a Docker volume.[readme]

First run

  1. Open http://<server-ip>:3001 (or http://localhost:3001 on the host itself).
  2. Create the first account in the setup screen before anyone else can reach the port.
  3. Add your first monitor and check that data survives a container restart (docker restart uptime-kuma).

These first-run steps are general practice, not taken from the README.

Not covered by this guide

  • TLS and a reverse proxy in front of port 3001.
  • Backups of the data directory and upgrades between major versions.

Sources

Explore the full site · Svenska