Filed from .claude/inbox/msg-2026-08-26-local-ops-server-mode.md (from acamarata, 2026-08-26, priority medium) so it is tracked rather than sitting in an inbox.
Request
Support provisioning an owned home Mac or box as a local ops server: staging stack plus nSentry (status page, telemetry ingest, CI reports) plus self-hosted runners, with Cloudflare Tunnel for ingress, as an alternative to a Hetzner -sentry box.
Three deployment tiers, as first-class nself topologies
- dev - owned home box only (local server, tunnel ingress, runners)
- starter - owned home box (dev/staging/ops) plus a single Hetzner prod
- full - Hetzner sentry plus staging plus prod (today's standard for revenue projects)
A project must be able to graduate 1 to 2 to 3 without re-architecture. That constraint is the substance of the request: the tiers have to be the same topology at different scales, not three different designs.
Why this is worth doing beyond cost
It closes a gap the CLI already has. The PPI's two-servers rule says anything we need a server for is a hole in the product, because a self-hosting Task Bundle user has no fleet either. A local ops tier is the same argument applied to CI and observability.
Not started
This is an architecture change spanning provisioning, ingress, runner registration and the nSentry stack. It needs a design pass before implementation, and it should not be folded into an unrelated change.
Related, from the same session: nself ci already exists to run the lint/test/build gate locally and post a nself-ci commit status, which is the closest existing piece of tier 1.
Filed from
.claude/inbox/msg-2026-08-26-local-ops-server-mode.md(from acamarata, 2026-08-26, priority medium) so it is tracked rather than sitting in an inbox.Request
Support provisioning an owned home Mac or box as a local ops server: staging stack plus nSentry (status page, telemetry ingest, CI reports) plus self-hosted runners, with Cloudflare Tunnel for ingress, as an alternative to a Hetzner
-sentrybox.Three deployment tiers, as first-class nself topologies
A project must be able to graduate 1 to 2 to 3 without re-architecture. That constraint is the substance of the request: the tiers have to be the same topology at different scales, not three different designs.
Why this is worth doing beyond cost
It closes a gap the CLI already has. The PPI's two-servers rule says anything we need a server for is a hole in the product, because a self-hosting Task Bundle user has no fleet either. A local ops tier is the same argument applied to CI and observability.
Not started
This is an architecture change spanning provisioning, ingress, runner registration and the nSentry stack. It needs a design pass before implementation, and it should not be folded into an unrelated change.
Related, from the same session:
nself cialready exists to run the lint/test/build gate locally and post anself-cicommit status, which is the closest existing piece of tier 1.