17 lines
913 B
Markdown
17 lines
913 B
Markdown
|
|
# jupyterhub
|
||
|
|
|
||
|
|
Multi-user JupyterHub. Each authenticated user gets their own notebook container via DockerSpawner. **Cloud-only.**
|
||
|
|
|
||
|
|
- **Networks**: `app` (UI proxied at `/jupyter` or subdomain) + `mgmt` (Docker socket so JupyterHub can spawn user containers)
|
||
|
|
- **Spawned user containers** land on the `cloud-app` network so they can reach mlflow, influxdb (via grafana proxy), rabbitmq
|
||
|
|
- **Config**: `config/jupyterhub_config.py` — DockerSpawner setup, authenticator, admin list, resource limits
|
||
|
|
|
||
|
|
## TODO
|
||
|
|
|
||
|
|
- DockerSpawner config (image, network, user volumes, idle culling)
|
||
|
|
- Keycloak OAuth via `oauthenticator.generic.GenericOAuthenticator`
|
||
|
|
- Build a project-specific notebook image with EVOLV libs + mlflow client + InfluxDB client preinstalled
|
||
|
|
- Per-user persistent volume mounted at `/home/jovyan/work`
|
||
|
|
- CPU / memory limits per user container
|
||
|
|
- Cull idle servers (`c.JupyterHub.services` cull-idle pattern)
|