This JupyterHub setup is based on this blog post and the The Littlest JupyterHub.
FIXME: #5 Upgrade JupyterHub to 1.4 FIXME: #6 Give environment variables more descriptive names FIXME: #7 Reduce lab image size FIXME: #8 Remove unused hub dependencies FIXME: #9 Add version tag to hub image
- 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 westac_hub_data
data volume must be removed in order for the changes to take effect.
docker-compose down
# docker rm `docker ps -aq`
docker volume rm westac_hub_data
Use Docker Compose to build and run the server:
docker-compose build
docker-compose up -d