Skip to content

feat: add OneUptime template#1034

Open
Siumauricio wants to merge 1 commit into
canaryfrom
feat/oneuptime
Open

feat: add OneUptime template#1034
Siumauricio wants to merge 1 commit into
canaryfrom
feat/oneuptime

Conversation

@Siumauricio

Copy link
Copy Markdown
Contributor

What

Adds OneUptime (https://github.com/OneUptime/oneuptime) as a template — an open-source observability platform: uptime monitoring, status pages, incident management, on-call rotations, and logs/traces/metrics.

Closes #514

Notes on the architecture

OneUptime consolidated its former ~15 microservices into a single app image, so the stack is now 6 services, faithful to upstream's current docker-compose.yml (pinned to 11.5.6):

Service Image Purpose
oneuptime oneuptime/app API, dashboard, accounts, status pages, workers, telemetry ingest
ingress oneuptime/nginx Entry point (domain attaches here, port 7849). Does essential path rewrites (/identity/api/identity, etc.) and custom-domain cert plumbing
probe oneuptime/probe Executes monitors; self-registers via REGISTER_PROBE_KEY through http://ingress:7849 (host ingress is part of upstream nginx's server_name)
postgres (15), redis (7.0.12), clickhouse (25.7) Datastores

Details worth calling out:

  • ClickHouse needs upstream's two config drop-ins (single-node cluster + embedded Keeper, and Distributed-insert batching) because OneUptime's analytics schema is always ReplicatedMergeTree + Distributed. They're provided via [[config.mounts]].
  • SERVER_NAMES_HASH_BUCKET_SIZE=128 on the ingress: generated Dokploy domains (e.g. long *.sslip.io hosts) overflow nginx's default bucket size of 64 and put the ingress in a restart loop.
  • The marketing home service is not deployed — upstream's nginx only routes to it when BILLING_ENABLED=true.
  • HTTP_PROTOCOL defaults to http; users should flip it to https once TLS is enabled on the domain.
  • Resource note: upstream docs list 8 GB RAM / 4 cores as the minimal ("homelab") sizing; observed idle footprint of this stack is ~4.5 GB.

How it was tested

Local (Docker, clean volumes) and deployed on a Dokploy instance via template import:

  • All 6 containers healthy/stable (no restarts after 10+ min).
  • /, /accounts, /dashboard, /status → 200 through the generated domain.
  • Full signup + login E2E against /identity/* (first user becomes master admin).
  • ClickHouse analytics schema created (27 tables) on the embedded-Keeper single-node cluster.
  • Probe registered and actively polling /probe-ingest/monitor/list (200s in ingress access log).

🤖 Generated with Claude Code

Adds OneUptime (open-source observability platform: uptime monitoring,
status pages, incident management, on-call, logs/traces/metrics) as a
template, following upstream's current single-app architecture
(app + nginx ingress + postgres + redis + clickhouse + probe).

Closes #514

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. new-template labels Jul 16, 2026
@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
templates ✅ Ready (View Log) Visit Preview 6683685

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-template size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add OneUptime

2 participants