Each hub has a directory under
deployments/ where all configuration
for that particular hub is stored in a standard format. For example, all
the configuration for the primary hub used on campus (datahub) is stored
User Image (
The contents of the
image/ directory determine the environment provided
to the user. For example, it controls:
Versions of Python / R / Julia available
Libraries installed, and which versions of those are installed
Specific config for Jupyter Notebook or IPython
Hub Config (
RAM available per user
Admin user lists
User storage information
Per-class & Per-user RAM overrides (when classes or individuals need more RAM)
Authentication secret keys
These files are split between files that are visible to everyone (
files that are visible only to a select few illuminati (
secrets/). To get access
to the secret files, please consult the illuminati.
Files are further split into:
common.yaml- Configuration common to staging and production instances of this hub. Most config should be here.
staging.yaml- Configuration specific to the staging instance of the hub.
prod.yaml- Configuration specific to the production instance of the hub.
We use hubploy to deploy our hubs in a
hubploy.yaml contains information required for hubploy to
work - such as cluster name, region, provider, etc.
Various secret keys used to authenticate to cloud providers are kept under
and referred to from
Documentation is under the
docs/ folder, and is generated with the sphinx project. It is written with the reStructuredText (rst)
format. Documentation is automatically published to https://ucb-jupyterhubs.readthedocs.io/.