This JupyterHub setup is based on this blog post and the The Littlest JupyterHub.
- Uses DockerSpawner;
- Traefik as reverse HTTPS proxy.
- Central authentication
- User data persistence
Please read this blog post and [].
Clone this repository and apply (at least) the following changes:
- In
.env
, set the variableHOST
to the name of the server you intend to host your deployment on. - In
reverse-proxy/traefik.toml
, edit the paths incertFile
andkeyFile
and point them to your own TLS certificates. Possibly edit thevolumes
section in thereverse-proyx
service indocker-compose.yml
. - In
jupyterhub/jupyterhub_config.py
, edit the "Authenticator" section according to your institution authentication server. If in doubt, read here.
Other changes you may like to make:
- Edit
jupyterlab/Dockerfile
to include the software you like. - Change
jupyterhub/jupyterhub_config.py
accordingly, in particular the "user data persistence" section.
If the jupyerhub_config.py
is changed, then the $(DATA_VOLUME_HOST)
data volume must be removed in order for the changes to take effect.
make down
# docker rm `docker ps -aq`
make clear_volumes
Use Docker Compose to build and run the server:
make build && make up