Stacks / Docs
JupyterHub / marimo
Notebooks you host. JupyterHub is BSD-3-Clause; marimo is Apache-2.0 — Google Colab without the hosted runtime seat.
The problem
Google Colab is a hosted notebook runtime. You wanted kernels, users, and a notebook file on hardware you control. JupyterHub is BSD-3-Clause (jupyterhub/jupyterhub; last push 24 Oct 2026) — a multi-user server that spawns Jupyter notebook servers. marimo is Apache-2.0 (marimo-team/marimo; last push 25 Oct 2026) — a reactive Python notebook stored as a script. JupyterLab is BSD-3-Clause if the job is the IDE JupyterHub can spawn. This is not Colab's every GPU SKU, Drive mount, or hosted runtime. A research Q&A notebook stays on /replace/notebooklm (SurfSense).
Replaces
Google Colab
Replace Google Colab See all best open-source data science notebooks
Estimated SaaS saved
$1,200
per year, small team, before lock-in
Start on RailwaySurfSense if this is a research Q&A notebook, not a data-science kernel
Placeholder: JupyterHub (proxy plus a spawner) or marimo plus a volume for notebooks. Bind HTTP to 0.0.0.0:$PORT. No one-click template in this repo yet — Start on Railway. Cited research stays on /stacks/surfsense-research.
The stack
- JupyterHub
BSD-3-Clause multi-user notebook server — the published Colab path
- marimo
Apache-2.0 reactive Python notebook
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| Google Colab / hosted notebook (small team) | $1,200 | JupyterHub or marimo + a volume |
Agent setup prompt
Replace Google Colab with JupyterHub (preferred) or marimo (https://jupyterhub.readthedocs.io / https://marimo.io). - Official docs. Persist notebooks on a volume. Create one user and one notebook. Do not claim Colab GPUs, Drive mounts, or hosted runtimes. - marimo if the job is a reactive Python file. JupyterLab is the IDE JupyterHub can spawn. Research Q&A stays on /stacks/surfsense-research. - Write AGENT_PROMPT.md.
Also as markdown: /stacks/jupyterhub-notebooks.md
FAQ
- JupyterHub or marimo?
- JupyterHub if you want the published Colab-shaped multi-user server (the path). marimo if you want that reactive Python file — /compare/jupyterhub-vs-marimo.
- Is this NotebookLM?
- No. Cited research stays on /replace/notebooklm (SurfSense). This page is a data-science kernel.
- Are these free?
- JupyterHub and JupyterLab are BSD-3-Clause. marimo is Apache-2.0. You pay hosting and any GPUs you attach. Template users never pay c17.