{
  "manifest_version": "1",
  "slug": "uptime-kuma",
  "title": "Uptime Kuma",
  "headline": "Self-host Uptime Kuma",
  "description": "Run Uptime Kuma on exe.dev. Watch your sites, get outage alerts, and share a status page, with a private dashboard and nightly backups.",
  "category": "monitoring",
  "tags": [
    "uptime monitoring",
    "status page",
    "uptimerobot alternative",
    "docker compose",
    "sqlite"
  ],
  "url": "https://exe.dev/deploy/uptime-kuma",
  "markdown_url": "https://exe.dev/deploy/uptime-kuma.md",
  "upstream": {
    "website": "https://uptime.kuma.pet",
    "source": "https://github.com/louislam/uptime-kuma",
    "docs": "https://github.com/louislam/uptime-kuma/wiki",
    "license": "MIT"
  },
  "example_vm_name": "my-uptime-kuma",
  "time": "10 minutes",
  "stack": [
    {
      "name": "Uptime Kuma 2",
      "detail": "Docker Compose, with SQLite",
      "port": 8000,
      "data": "~/uptime-kuma/data"
    },
    {
      "name": "Status page proxy",
      "detail": "nginx; status pages only, no dashboard",
      "port": 8080
    },
    {
      "name": "Nightly backup",
      "detail": "A systemd timer; keeps two weeks of copies",
      "data": "~/uptime-kuma/backups"
    }
  ],
  "access": [
    {
      "url": "https://my-uptime-kuma.exe.xyz:8000/",
      "who": "private",
      "what": "Your dashboard, whether or not you publish a status page"
    },
    {
      "url": "https://my-uptime-kuma.exe.xyz:8080/",
      "who": "private",
      "what": "Status page preview"
    },
    {
      "url": "https://my-uptime-kuma.exe.xyz/",
      "who": "public",
      "what": "Your status page, only after you choose to publish it"
    }
  ],
  "delivers": [
    "Uptime Kuma 2, ready for your first monitor.",
    "A private dashboard and a separate status-page preview.",
    "Nightly backups, with monitoring set to restart after a reboot."
  ],
  "deploy": {
    "new_vm_url": "https://exe.dev/new?prompt=Set%20up%20Uptime%20Kuma%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe.dev%2Fdeploy%2Fuptime-kuma.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-uptime-kuma.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-uptime-kuma.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20Uptime%20Kuma%202%2C%20ready%20for%20your%20first%20monitor.%0A-%20A%20private%20dashboard%20and%20a%20separate%20status-page%20preview.%0A-%20Nightly%20backups%2C%20with%20monitoring%20set%20to%20restart%20after%20a%20reboot.%0A%0ARead%20the%20whole%20recipe%2C%20including%20closed%20details%2C%20and%20follow%20%22Install%20by%0Ahand%22%20first.%20The%20opening%20walkthrough%20is%20for%20the%20owner%20afterwards.%0ADo%20not%20create%20the%20Kuma%20account%2C%20add%20monitors%2C%20or%20send%20email.%20Leave%20public%0Asharing%20off.%20Do%20not%20run%20the%20later%20Restore%20or%20Update%20instructions.%0AWork%20as%20exedev%20in%20~%2Fuptime-kuma.%20Verify%20docker.service%20is%20enabled%2C%20both%0Acontainers%20restart%20unless-stopped%2C%20the%20dashboard%20responds%20on%20localhost%3A8000%2C%0Aand%20%2Fdashboard%2C%20%2Fsocket.io%2F%2C%20and%20%2Fmetrics%20return%20404%20on%20localhost%3A8080.%0ACheck%20that%20the%20backup%20timer%20is%20enabled%20and%20its%20first%20archive%20passes%20gzip%20-t.%0AThe%20status%20page%20will%20not%20exist%20until%20the%20owner%20creates%20it.%0AFinish%20with%20the%20private%20dashboard%20URL%20on%20port%208000%20and%20invite%20the%20owner%0Ato%20create%20their%20account%20and%20add%20their%20first%20monitor.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://exe.dev/deploy/uptime-kuma/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up Uptime Kuma on this VM by following the exe.dev recipe at https://exe.dev/deploy/uptime-kuma.md from top to bottom.\n\nThe recipe's example VM name is my-uptime-kuma. This VM's name is the output of `hostname`: use it wherever the recipe writes my-uptime-kuma. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- Uptime Kuma 2, ready for your first monitor.\n- A private dashboard and a separate status-page preview.\n- Nightly backups, with monitoring set to restart after a reboot.\n\nRead the whole recipe, including closed details, and follow \"Install by\nhand\" first. The opening walkthrough is for the owner afterwards.\nDo not create the Kuma account, add monitors, or send email. Leave public\nsharing off. Do not run the later Restore or Update instructions.\nWork as exedev in ~/uptime-kuma. Verify docker.service is enabled, both\ncontainers restart unless-stopped, the dashboard responds on localhost:8000,\nand /dashboard, /socket.io/, and /metrics return 404 on localhost:8080.\nCheck that the backup timer is enabled and its first archive passes gzip -t.\nThe status page will not exist until the owner creates it.\nFinish with the private dashboard URL on port 8000 and invite the owner\nto create their account and add their first monitor.\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe.dev/deploy/uptime-kuma/prompt.txt"
  },
  "updated": "2026-10-14",
  "related": [
    "n8n",
    "code-server",
    "claude-code",
    "openclaw"
  ],
  "alternatives": [
    "UptimeRobot",
    "Better Stack",
    "Pingdom"
  ]
}
