JupyterHub hosting
Notebook servers for a whole team or classroom.
JupyterHub hosting at AIHostBox means a dedicated, single-tenant JupyterHub instance on our infrastructure: we install it, pin it to a reviewed release, put it behind TLS on your domain, back it up nightly and keep it patched. Plans start at $18.99 per month and the admin account, the data and any API keys are yours.
JupyterHub is the multi-user server from Project Jupyter, released under the BSD-3-Clause licence. Where plain JupyterLab gives one person a notebook server, the Hub authenticates users and starts a separate server for each of them, routing everyone through a configurable HTTP proxy on a single address. An administrator can see who is running what, stop servers and add users from an admin panel or the REST API. What each user gets is decided by a spawner, so the same Hub can start plain processes, Docker containers or Kubernetes pods.
It is built for a server by definition: the whole point is that twenty students or a research group reach the same environment from their own browsers. Running it centrally means one place to install packages, one copy of shared datasets, and no afternoon lost to fixing someone’s laptop Python. The project’s Littlest JupyterHub distribution targets exactly this kind of single-machine deployment, for groups of up to about a hundred users.
JupyterHub hosting plans
Every plan is a dedicated single-tenant instance with NVMe storage, nightly off-box backups, TLS and managed patching. Quarterly, semi-annual and annual terms are discounted at checkout. Model tokens are not included — you bring your own key.
How we run JupyterHub
The JupyterHub process with configurable-http-proxy on port 8000, DockerSpawner starting one JupyterLab container per user with a persistent home volume, SQLite for Hub state, and the jupyterhub-idle-culler service.
What we configure for you
- Authenticator of your choice: OAuthenticator (GitHub, Google, generic OIDC), NativeAuthenticator or a shared workshop password
- admin_users and allowed users set in jupyterhub_config.py
- c.Spawner.mem_limit and cpu_limit so one heavy notebook cannot starve the rest
- A single user image with your course or team packages preinstalled
- jupyterhub-idle-culler with a timeout that suits your sessions
- Shared read-only data directory mounted into every user server
Which plan fits
Pro (8 GB, 4 vCPU) suits a small class or research group, around six simultaneously active users at 1 GB each doing pandas-scale work. Max (12 GB, 6 vCPU) takes about ten active users or fewer people with heavier data; a larger group needs its sessions staggered.
The honest limits
Everything runs on CPU, so deep-learning training in notebooks is slow and GPU kernels are not available. Concurrent memory, not the number of accounts, is what caps a class.
What people run JupyterHub for
Teaching
Every student gets the same working environment.
Research team
Shared data, separate workspaces.
Workshops and bootcamps
Hand out logins for a day, then cull the servers when it is over.
Analyst sandbox
Give analysts Python and SQL access to shared data without local installs.
Licence and version policy
| Item | Position |
|---|---|
| Upstream licence | BSD-3-Clause |
| Sold as managed hosting | Yes |
| Tenancy | Single tenant — one customer per instance |
| Patching | Critical advisories within 24 hours, high severity within 72 |
Our full position on licences, including the applications we decline to sell, is on the licensing page.
Works well with JupyterHub
More ML platform we host
JupyterHub hosting: your questions
How do users log in?
How many users can one instance serve?
Can I control which packages everyone gets?
What is backed up?
Does it support GPUs or Kubernetes?
Run JupyterHub without running a server
A dedicated JupyterHub instance, deployed and maintained by us. Month to month, cancel whenever.