Skip to content
aitishnykPublic

About

Run Uptime Kuma on Bunny Magic Containers — persistent monitoring, secure access, backups and a live demo, without managing a VPS.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

KumaEdge logo — three service signals at the edge

KumaEdge — Uptime monitoring on Bunny.net. No VPS required.

Uptime monitoring. Without the VPS.

Deploy the original Uptime Kuma on Bunny Magic Containers with persistent storage,
secure access, encrypted recovery tooling and a beautiful read-only demo.

License: MIT Engine: Uptime Kuma 2.5.7 Deployment: Docker and Terraform Release workflow: local Docker

Live Demo ↗   ·   Quick Start   ·   Deploy on Bunny.net ↗   ·   Documentation

Deploy on Bunny.net is an affiliate link. Some external links are affiliate links that may support this open-source project.

See real monitoring in action

KumaEdge desktop DEMO dashboard showing actual service health and recorded response history

KumaEdge mobile DEMO dashboard with real service cards, response charts and recorded events

Try the Live Demo

Public access
URL https://mc-b4n2u1709h.bunny.run/demo
Username demo
Password demo
Access Read-only

No invitation or individual password request. The public demo cannot edit monitors, manage notifications or access private targets, OWNER APIs, admin sessions, keys or SQLite. Every metric comes from actual recorded checks; screenshots are not an availability guarantee.

Hosted on Bunny.net ↗ · View on GitHub ↗ · Powered by Uptime Kuma ↗

Why KumaEdge?

Uptime Kuma is the monitoring engine. KumaEdge is the deployment and access layer. Keep the familiar upstream dashboard, checks and Status Pages while moving compute and persistent storage to Bunny Magic Containers. Manage one application rather than a VPS operating system.

The original engine provides monitoring, history, incidents and notification integrations. KumaEdge adds a protected gateway, an independently authenticated read-only showcase, local release verification, Terraform and encrypted recovery tooling. It is an independent MIT project, not an official Bunny.net or Uptime Kuma product.

What you get

Capability What it means
Original engine Uptime Kuma 2.5.7, with HTTP/HTTPS/TCP and other upstream check types
Useful history Actual uptime, response measurements, recorded transitions and upstream Status Pages
Notifications Upstream integrations when configured; external delivery must be tested by the operator
Layered access OWNER gateway authentication plus a separate original Kuma admin and TOTP
Public showcase Read-only DEMO routes with explicit public-service allowlists and bounded sessions
Persistent data SQLite on one durable volume; exactly one engine writer
Recovery Full-volume encrypted export and isolated restore verification tooling
Repeatable releases Local Mac + Docker tests, immutable OCI digest evidence and reviewed Terraform updates
Small footprint One app, two containers, one region, one replica, one volume, one Pull Zone

Architecture

flowchart LR
  V[Visitor] --> C[Bunny CDN · HTTPS · no shared auth cache]
  C --> G[owner-gateway :3002]
  G --> O[OWNER Basic authentication]
  O --> A[Original admin + TOTP]
  A --> K[Original Uptime Kuma :3001]
  G --> D[Independent DEMO session · read-only routes]
  D --> P[Fixed public Status Page APIs · ID allowlist]
  P --> K
  K --> S[(Persistent SQLite + assets)]
  S --> B[Cleanly stopped writer · encrypted full-volume export]
  B --> R[Isolated restore verification]
Loading

DEMO is a gateway view of the same engine, not a second Uptime Kuma runtime. DEMO cookies never authenticate OWNER API or administrative Socket.IO. The engine has no public endpoint. One region and one replica protect the SQLite single-writer contract; this is not high availability or zero-cost serverless.

Quick Start

A. Try the demo

Open Live Demo, use demo / demo, and explore the real service metrics. No invitation required. This public login grants no administrative rights.

B. Deploy your own

Bring a paid Bunny account, local Docker Desktop, Node.js 22+, Python 3, Terraform and age. Start in a fresh clone with your own account and state:

git clone https://github.com/aitishnyk/KumaEdge.git
cd KumaEdge
npm test
python3 -m unittest discover -s test/python -v
terraform -chdir=infra/bunny init -backend=false
terraform -chdir=infra/bunny validate

Then follow the exact Installation guide: choose verified SHA/digest evidence, prepare registry pull and independent private credentials, run bash scripts/install-bunny.sh, review the complete paid Terraform plan, and explicitly approve creation. Harden the generated HTTPS/CDN endpoint, initialize the original owner in the protected UI, enroll TOTP, add monitors and test encrypted backups.

Bunny Magic Containers are continuously running paid resources. Cost depends on consumed CPU/RAM, disk and traffic; there is no spending cap in this tooling. Do not run new-install apply against the reference app or another existing state. No additional Bunny resources are created by trying the public demo.

Design & Customization

The original Obsidian Cloud design uses deep navy surfaces and mint service signals. The interfaces are intentionally separate:

Interface Source / customization
DEMO styles scripts/demo-assets/demo.css
DEMO data and charts scripts/demo-assets/demo.js
DEMO templates and access boundary scripts/demo-mode.cjs
Standard Status Page theme examples/status-page/obsidian-cloud.css
Apply the theme How to Apply the Obsidian Cloud Theme
Original logos and social preview Branding assets and attribution

Changing /demo CSS does not automatically change /status/<slug>. The Status Page theme is applied through the original upstream Custom CSS editor. No external framework or tracking SDK is required.

More screenshots: login, original OWNER and themed Status Page

Actual KumaEdge DEMO login page

Original Uptime Kuma 2.5.7 OWNER dashboard in an isolated local test dataset

Original public Status Page with the Obsidian Cloud example theme in an isolated local test dataset

OWNER and themed Status Page images use a documented disposable local dataset. The live reference Status Page remains unchanged. No metrics are drawn or manually edited into screenshots. Screenshot provenance.

Documentation

Installation · Docker Development · Bunny Terraform · Configuration · Enabling Demo Mode · Custom CSS · Security · Backups · Restore · Upgrade · Rollback · Troubleshooting

Start at the documentation index. Historical release reports remain available as evidence; they are not current installation instructions.

Limits & operational readiness

The reference deployment is DEMO_READY, not PRODUCTION_READY. No external notification channel has been certified. A local isolated restore has been verified; Bunny-to-Bunny recovery is not certified. Operators must validate their own alert delivery, retention, paid usage and recovery objectives. One region/replica is a deliberate availability tradeoff. A public demo/demo identity is convenient access, not a secret or a security boundary; the gateway's read-only allowlist is the boundary.

Open source, support & attribution

About

Run Uptime Kuma on Bunny Magic Containers — persistent monitoring, secure access, backups and a live demo, without managing a VPS.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages