marimohub – self-hostable marimo notebooks The marimo team released marimohub, a self-hostable platform for storing, managing, and running marimo notebooks on a team's own infrastructure. The hub keeps notebook metadata, versions, snapshots, and system records in an object store instead of a separate database, and lets operators swap storage (CoreWeave CAIOS, S3-compatible, Google Cloud Storage, Azure Blob Storage, filesystem, or Cloudflare R2), compute (CoreWeave Sandboxes, Modal, AWS ECS Fargate, Kubernetes, Docker, Podman, E2B, Cloudflare Containers, or local subprocesses), and identity (OpenID Connect, trusted SSO proxies, Google IAP, or Cloudflare Access) behind TypeScript ports. It requires Node >= 24.11, pnpm 10.34.5, and uv plus Python for local notebook kernels, and is licensed under the Apache License, Version 2.0. marimohub is a self-hostable platform for storing, managing, and running marimo https://marimo.io notebooks. It is built for teams that want to run notebooks on their own infrastructure while choosing their own storage, compute, and identity providers. The hub has no separate database. Notebook metadata, versions, snapshots, and system records live in an object store, so the object store is the source of truth you back up and recover. External systems sit behind TypeScript ports, so operators can swap providers without changing the domain logic. - Bring your own storage : CoreWeave CAIOS, S3-compatible storage, Google Cloud Storage, Azure Blob Storage, filesystem, or Cloudflare R2. - Bring your own compute : CoreWeave Sandboxes, Modal, AWS ECS Fargate, Kubernetes, Docker, Podman, E2B, Cloudflare Containers, or local subprocesses. - Bring your own identity : OpenID Connect, trusted SSO proxies, Google IAP, or Cloudflare Access. - Optional managed AI, versioned integrations, encrypted values, external secret references, and short-lived federated cloud access. Use marimohub when you want a self-hosted notebook hub with a small operational surface and explicit provider choices. If you want a hosted SaaS or do not want to operate storage, compute, and auth, this is probably not the right shape yet. Requirements: Node = 24.11, pnpm 10.34.5, and uv plus Python if you want to start local notebook kernels. pnpm install --frozen-lockfile pnpm dev pnpm dev watches the TypeScript server and runs it with the Vite web app in parallel. It skips the production server build. The local stack uses: - memory storage, which is non-durable - local compute, which starts uv run marimo edit - dev auth, which signs everyone in as a fixed local super admin - integrations and metadata browsing, with a welcome notebook and sample environment Set MARIMOHUB DEV PERSIST=true to keep local state in the Git-ignored .context/dev-storage directory. Run pnpm dev:reset after stopping the dev stack to clear it. See Testing locally https://github.com/marimo-team/marimohub/blob/main/docs/testing-locally.md for the full local path and the production swaps for each backend. Most deployments use the config-driven server image: set MARIMOHUB environment variables and let @marimo-hub/config select the adapters. Custom runtimes can compose the packages directly as a library. Start with Getting started https://github.com/marimo-team/marimohub/blob/main/docs/getting-started.md , then choose a deployment guide: Useful references: - Configuration https://github.com/marimo-team/marimohub/blob/main/docs/configuration.md - every MARIMOHUB variable - Storage https://github.com/marimo-team/marimohub/blob/main/docs/storage.md , Compute https://github.com/marimo-team/marimohub/blob/main/docs/compute.md , and Auth https://github.com/marimo-team/marimohub/blob/main/docs/auth.md - backend choices - Security https://github.com/marimo-team/marimohub/blob/main/docs/security.md , Operations https://github.com/marimo-team/marimohub/blob/main/docs/operations.md , and Troubleshooting https://github.com/marimo-team/marimohub/blob/main/docs/troubleshooting.md - production operation - API & client https://github.com/marimo-team/marimohub/blob/main/docs/api.md - HTTP response envelope and generated client This is a pnpm and vite-plus TypeScript monorepo. pnpm check pnpm test pnpm build Read CONTRIBUTING.md https://github.com/marimo-team/marimohub/blob/main/CONTRIBUTING.md before opening a pull request. For architecture and internal design, start with development docs/architecture.md https://github.com/marimo-team/marimohub/blob/main/development docs/architecture.md and development docs/bucket spec.md https://github.com/marimo-team/marimohub/blob/main/development docs/bucket spec.md . Integration kind contributors should also read development docs/integrations.md https://github.com/marimo-team/marimohub/blob/main/development docs/integrations.md . marimohub is licensed under the Apache License, Version 2.0. See LICENSE https://github.com/marimo-team/marimohub/blob/main/LICENSE .