Get Started

Know before your clients do when their website goes down

A bakery's website can be "up" all weekend while its Order online button has vanished. Uptime Kuma catches that, warns you before certificates and domains run out, and gives each client a status page. It's free, and it's a simple monthly service to sell.

85 minBeginnerTools: Free to learn (real clients need an always-on server, about $6 a month)Step 1 free
Tested 9 Oct 2026 · Uptime Kuma 2.5.5, Node 26.7, Windows 11 laptop (16GB)
Uptime Kuma running on your computer, checking websites every minute
A check that catches a broken booking or order button, even when the site still loads
An alert within a minute of a site going down
  • SSL certificate and domain expiry warnings, plus a public status page for each client
  • A certificate radar script that finds prospects whose sites are about to show a security warning
  • The server set-up for paying clients: Docker, Uptime Kuma and HTTPS on your own subdomain with Caddy
  • A price ladder for direct clients and for web designers who resell it
Before you start
  • Git and Node.js 20.4 or newer. Level 0 covers both: Install anything from GitHub
  • About 250MB of free disk space
  • Somewhere to receive alerts: Telegram, Discord or an email account
  • For paying clients later: an always-on computer or a small rented server (step 8)
01/08Install Uptime Kuma0 done
STEP 01 of 08~10 min

Install Uptime Kuma

A free, open-source website monitor that runs on your own machine. No account and no monthly fee.

  1. By step 4 you'll watch it catch a website that still loads but has lost its order button. First, install it. The official route without Docker is three commands. Open PowerShell (Terminal on a Mac or Linux) in the folder where you keep projects and run:

    Terminal
    git clone https://github.com/louislam/uptime-kuma.git
    cd uptime-kuma
    npm run setup
  2. npm run setup switches to the latest stable release (rather than the main branch, which is a 3.0 beta), installs what it needs and downloads the web interface. It takes about a minute:

    Output
    HEAD is now at c98982ac Update to 2.5.5
    ...
    added 650 packages in 56s
    ...
    Downloading dist
    ...
    Extracting dist...
    Done
  3. A message about a detached HEAD and lots of yellow npm warn deprecated lines are normal. They're notes, not errors. The whole folder comes to about 220MB.

  4. Now start it. --host=127.0.0.1 keeps it private to your PC while you learn:

    Terminal
    node server/server.js --host=127.0.0.1
    Output
    Welcome to Uptime Kuma
    Your Node.js version: 26.7.0
    ... [SERVER] INFO: Uptime Kuma Version: 2.5.5
    ... [SERVER] INFO: Loading modules
    ...
    ... [SETUP-DATABASE] INFO: Listening on:  http://127.0.0.1:7113
  5. This capture used port 7113 (set with --port=7113). Yours will say 3001, the default.

    CarefulBe patient. It can take a minute or two to start, almost all of it on Loading modules. Don't close the window: closing it stops the monitoring.
  6. Open localhost:3001 ↗. The first visit asks two things:

    • Which database? Choose SQLite (one file, nothing else to install), then Next.
    • Create your admin account: a username and a strong password. This account only exists on your PC.
✓
CheckpointYou're on the Uptime Kuma dashboard and it says "No Monitors, please add one".
If it breaks'npm.ps1 cannot be loaded because running scripts is disabled on this system' + 3 more
'npm.ps1 cannot be loaded because running scripts is disabled on this system'
Type npm.cmd run setup instead. It's the same command without PowerShell's script wrapper.
'git' or 'node' is not recognised
On Windows, install them with winget install --id Git.Git -e and winget install --id OpenJS.NodeJS.LTS -e, then close PowerShell and open a new window. On a Mac, brew install git node. On Linux, use your package manager or the installers on nodejs.org ↗. Check node --version says 20.4 or newer.
The page won't load
Look at the terminal. It only answers after it prints Listening on. Give it two minutes.
Windows asks whether to allow Node.js on your network
You don't need to allow it for this mission. Press Ctrl + C in the terminal and start it again with --host=127.0.0.1 on the end, which keeps it on your PC only.
Still stuck? Ask the community
Next mission · Make money with AIBuild a fast website for a local business in an afternoon, with no monthly fees
→