Keenrig

What Keenrig handles for you

Six groups of work that a typical self-hoster stitches together from six different tools. Here they sit inside one reconcile loop.

Deployment and state reconciliation

You declare the desired state and a local reconcile loop is accountable for reaching it. A container dies, it comes back; configuration drifts, it gets pulled back. There is no "run it once by hand and hope".

  • Ed25519-signed app catalog, pinned by digest
  • Databases and add-ons provisioned with the app
  • Event log for every state change
  • A Docker-free runtime tier for small machines

Domains, DNS and TLS

Two paths, choose either at any time, switch between them freely. Ready-made subdomains put both the records and the wildcard certificate on the cloud. Your own domain means the instance obtains and renews its certificate itself, independent of the cloud.

  • *.keenrig.com subdomain issued the moment you create an app
  • Wildcard certificates via DNS-01 on the cloud side
  • Bring-your-own domain: ACME HTTP-01 straight on the instance
  • Works on a raw IP with a self-signed certificate — no domain required first

AI — primary interface and copilot

Non-technical users describe what they need and get a running app. Administrators use AI as a copilot, and every state-changing action stops at an approval queue before it touches the real machine.

  • App recommendations from the catalog based on a plain description
  • Approval queue — AI proposes, a human agrees
  • Runs through the cloud proxy, or points at a local Ollama
  • Bilingual notifications, Vietnamese and English

Identity and access

Every instance carries its own identity store, independent of any cloud account. Apps on the machine share one login.

  • OIDC and LDAP running inside the instance
  • Single sign-on across installed apps
  • Two-factor authentication and passkeys
  • Role-based access control

Backup and restore

Backup is part of the platform, not a cron script you wrote once and forgot. You choose the target, including targets we cannot reach at all.

  • Targets: local disk, NAS, your own S3, or managed storage
  • Per-app backup schedules
  • Verified restores, not "it probably works"
  • Backups readable without the platform being alive

Cloud disconnect and offline licensing

The right to disconnect only means something if it breaks nothing. Before disconnecting, the platform runs a preflight and lists every affected item together with how to handle it.

  • Preflight listing exactly what you would lose
  • Wizard to migrate apps onto your own domain
  • Ed25519-signed licences, verifiable offline
  • Reconnect at any time with a fresh token