Skip to content

feat(apps): enable Uptime Kuma app template - #531

Open
Jcorderop02 wants to merge 2 commits into
oblien:mainfrom
Jcorderop02:feat/app-uptime-kuma
Open

feat(apps): enable Uptime Kuma app template#531
Jcorderop02 wants to merge 2 commits into
oblien:mainfrom
Jcorderop02:feat/app-uptime-kuma

Conversation

@Jcorderop02

@Jcorderop02 Jcorderop02 commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Enable the Uptime Kuma app template so it installs from the dashboard's Apps tab, and bump it to the current major image.

Motivation

Uptime Kuma has come up as a requested app on Discord (alongside code-server and Metabase). The catalog entry already exists but is marked available: false and pinned to louislam/uptime-kuma:1, frozen since October 2025.

Related issue

Closes #530

Changes

  • packages/core/src/apps/catalog/uptime-kuma.json: available: true, verified: true, image bumped to louislam/uptime-kuma:2, added a connection block (URL output plus a firstLogin note covering the 2.x database-choice step and the lack of default credentials).
  • packages/core/src/apps/catalog.json: regenerated with bun scripts/gen-catalog.ts.
  • packages/core/src/apps/catalog.test.ts: added a regression test asserting the uptime-kuma entry is available on the :2 image.

Verification

Deployed both :1 and :2 for real on a self-hosted server through the existing server-deploy flow.

$ docker ps --filter name=uptime-kuma --format '{{.Names}}\t{{.Status}}\t{{.Ports}}'
openship-uptime-kuma-prueba-catlogo-uptime-kuma   Up 17 seconds (healthy)   127.0.0.1:3055->3001/tcp

$ curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:3055/
302

Repeated with :2 on a separate container, confirmed healthy, and completed the full first-run wizard (database choice, then admin account creation) end to end through a browser.

$ bun x vitest run src/apps/catalog.test.ts   # packages/core
 ✓ src/apps/catalog.test.ts (21 tests) 13ms

$ bun run test                                 # repo root, all workspaces
 Tasks: 7 successful, 7 total

$ bun run --cwd packages/core lint
$ bun run --cwd apps/api lint
$ tsc --noEmit                                 # both clean

Confirmed the new test actually catches a revert: flipped available back to false locally, the new test failed on that exact line, restored it, test passed again.

Screenshots

Not applicable, dashboard-side rendering is the same generic single-service install wizard already used by other simple apps (for example Excalidraw).

Checklist

  • One change per PR, one agreed feature, nothing unrelated bundled in
  • The diff is scoped to the two catalog files, no reformatting
  • A test fails without this change and passes with it. Added a test asserting the uptime-kuma entry is available on the :2 image. Confirmed it fails when available is reverted to false and passes once restored (see Verification)
  • bun run test and lint pass locally. bun format was not run directly since it reformats unrelated pre-existing Prettier drift across the repo; used bunx prettier --write on the touched files instead, then reverted it since it collapsed unrelated array formatting inconsistent with every other catalog entry (for example grafana.json)
  • I understand every line of this diff and can explain it in review

The uptime-kuma catalog entry existed but was never turned on
(available: false) and pinned image tag :1, which is the frozen
1.x line (last pushed Oct 2025). Bumped to :2, the current major
tag (matches the 2.5.0 release), and added a connection block so
the install screen shows the URL and explains the first-run flow:
pick the embedded database, then create the admin account. There
is no default account.

Verified with a real deploy on a self-hosted server. Pulled and
ran both :1 and :2, container healthy, web UI reachable, account
creation flow completed end to end on :2.

packages/core/src/apps/catalog.test.ts fails to run in this
checkout on an unrelated zod/vitest resolution error. It fails the
same way on a clean upstream/main checkout with no changes, so it
looks like a local node_modules issue, not something introduced by
this change.
Fails if available flips back to false or the image tag drifts
off :2. Confirmed locally: reverting available to false fails
this test, restoring it passes again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: enable the Uptime Kuma app template

1 participant