Skip to content

Self-Host

Run Nucleus on your own infrastructure. The plugins, the control plane, the federation protocol — everything that powers our hosted product, packaged for you to deploy and operate.

Operator-facing distribution

This is not a click-and-deploy product. If you want a managed Moodle-network experience with billing, per-spoke wizards, and a polished admin dashboard, you want Nucleus Hosted. Self-Host gives you the engine and the API; the cockpit is yours to build.

What you get

  • local_nucleuscommon (Moodle plugin) — shared library installed on every Moodle in the federation. Identity primitives, federation-mode flag, WS scaffolding.
  • local_nucleushub (Moodle plugin) — hub-side functionality: course-version publishing, projected user records, federation orchestration.
  • local_nucleusspoke (Moodle plugin) — spoke-side functionality: course pulls, identity-projection client, federation-mode listener.
  • nucleus-control-plane (container image) — NestJS service that orchestrates provisioning, federation mode, course-version fanout, and audit. Exposes a REST + WebSocket API.
  • nucleus-moodle (Helm chart) — Kubernetes chart for a single Moodle pod (hub or spoke), parameterised by size and federation role.
  • ADR set + protocol spec — architecture decisions and the federation contract.
  • 12 months of patches — CVE fixes, minor-version bumps, and protocol-level changes published to your private registry.

What you don't get

  • No admin UI. The Vue.js portal that ships with our hosted product is a SaaS-only asset. Self-Host customers operate the control plane via its REST API plus Moodle's native admin pages. Building your own UI on top of the API is a fully supported pattern; we just don't ship one.
  • No managed billing. No Stripe wiring, no per-spoke metering, no invoicing.
  • No SaaS auth integration. The control-plane API ships with bearer-token auth out of the box. SAML / OIDC / SSO bridge work is on your side.
  • No managed backups or DR runbooks. You operate the backups for your tenants. We describe the pattern in Backups.

If any of those are deal-breakers, please flag it before purchase. None are on the self-host roadmap right now, and we'd rather identify the gap upfront than have you discover it after the fact.

Who this is for

You're a good fit if:

  • You operate Kubernetes clusters in production today.
  • You have a Moodle ops team or vendor relationship that can install plugins on multiple sites and own their lifecycle.
  • You want federation primitives but you have strong reasons to keep the data plane inside your perimeter.
  • You're comfortable building or contracting a thin admin UI for your internal users.

Self-Host probably isn't right if:

  • You're hoping for a one-click install image. Nucleus is a multi-component system and the install reflects that.
  • You don't have ops capacity. The licence cost is lower than Hosted; the time cost is higher.
  • You expect a polished operator dashboard out of the box.

Reading order

  1. Buying self-host — pricing, what you get, the purchase flow
  2. Architecture — what runs where
  3. Prerequisites — Kubernetes + supporting infra
  4. Install — bring the control plane up
  5. Upgrades — pull, build, restart
  6. Backups — your responsibility
  7. Troubleshooting

Released under the GPL v3 license.