Deploying
marimohub ships as a single container image (apps/server/Dockerfile) that serves both the API and the web UI. Pick a platform below; each guide covers the image, configuration, the three backends (storage / compute / auth), and background maintenance.
- Helm — install/upgrade any cluster from the published, versioned
marimohubchart (single-tenant). - Single instance — one Linux box (cloud VM or on-prem) with
fsstorage +dockercompute; no object store, no cluster. - CoreWeave (CKS) — CAIOS + CoreWeave Sandboxes + OIDC.
- Kubernetes — any cluster (EKS/GKE/AKS/self-managed) with native Pod kernels via the
kubernetescompute backend. - GCP — GKE or Cloud Run + GCS.
- AWS — EKS or ECS/Fargate + native S3.
- Cloudflare — Workers + R2 + Containers + Access (serverless).
Path prefix
To publish the Node deployment at https://hub.example.com/marimohub/, set:
MARIMOHUB_APP_BASE_URL=https://hub.example.com/marimohub
MARIMOHUB_AUTH_OIDC_REDIRECT_URI=https://hub.example.com/marimohub/api/auth/callbackConfigure nginx to strip the prefix and forward WebSocket connections:
location = /marimohub {
return 308 /marimohub/;
}
location /marimohub/ {
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_buffering off;
proxy_pass http://marimohub:3000/;
}The redirect adds the trailing slash to the public URL. The trailing slash on proxy_pass strips the prefix. X-Forwarded-Proto preserves HTTPS in public links. The timeouts permit one hour between WebSocket I/O operations. nginx passes streamed responses without buffering. The path prefix is runtime configuration, so one image can serve different prefixes.
After deploy, validate the same core flow on every platform:
- Check
/api/health. - Sign in through the configured auth backend.
- Create a project and notebook.
- Start a kernel.
- Save the notebook and confirm it survives a server restart.
See Configuration for every variable and Troubleshooting for common startup, login, and kernel failures.