|
| 1 | +# JupyterHub deployment in use at Université de Versailles |
| 2 | + |
| 3 | +This is a [JupyterHub](https://jupyter.org/hub) deployment based on |
| 4 | +Docker currently in use at [Université de |
| 5 | +Versailles](https://jupyter.ens.uvsq.fr/). |
| 6 | + |
| 7 | +## Features |
| 8 | + |
| 9 | +- Containerized single user Jupyter servers, using |
| 10 | + [DockerSpawner](https://github.com/jupyterhub/dockerspawner); |
| 11 | +- Central authentication to the University CAS server; |
| 12 | +- User data persistence; |
| 13 | +- HTTPS proxy. |
| 14 | + |
| 15 | +## Learn more |
| 16 | + |
| 17 | +This deployment is described in depth in [this blog |
| 18 | +post](https://opendreamkit.org/2018/10/17/jupyterhub-docker/). |
| 19 | + |
| 20 | +### Adapt to your needs |
| 21 | + |
| 22 | +This deployment is ready to clone and roll on your own server. Read |
| 23 | +the [blog |
| 24 | +post](https://opendreamkit.org/2018/10/17/jupyterhub-docker/) first, |
| 25 | +to be sure you understand the configuration. |
| 26 | + |
| 27 | +Then, if you like, clone this repository and apply (at least) the |
| 28 | +following changes: |
| 29 | + |
| 30 | +- In [`.env`](.env), set the variable `HOST` to the name of the server you |
| 31 | + intend to host your deployment on. |
| 32 | +- In [`reverse-proxy/traefik.toml`](reverse-proxy/traefik.toml), edit |
| 33 | + the paths in `certFile` and `keyFile` and point them to your own TLS |
| 34 | + certificates. Possibly edit the `volumes` section in the |
| 35 | + `reverse-proyx` service in |
| 36 | + [`docker-compose.yml`](docker-compose.yml). |
| 37 | +- In |
| 38 | + [`jupyterhub/jupyterhub_config.py`](jupyterhub/jupyterhub_config.py), |
| 39 | + edit the *"Authenticator"* section according to your institution |
| 40 | + authentication server. If in doubt, [read |
| 41 | + here](https://jupyterhub.readthedocs.io/en/stable/getting-started/authenticators-users-basics.html). |
| 42 | + |
| 43 | +Other changes you may like to make: |
| 44 | + |
| 45 | +- Edit [`jupyterlab/Dockerfile`](jupyterlab/Dockerfile) to include the |
| 46 | + software you like. Do not forget to change |
| 47 | + [`jupyterhub/jupyterhub_config.py`](jupyterhub/jupyterhub_config.py) |
| 48 | + accordingly, in particular the *"user data persistence"* section. |
| 49 | + |
| 50 | +### Run! |
| 51 | + |
| 52 | +Once you are ready, build and launch the application with |
| 53 | + |
| 54 | +``` |
| 55 | +docker-compose build |
| 56 | +docker-compose up -d |
| 57 | +``` |
| 58 | + |
| 59 | +Read the [Docker Compose manual](https://docs.docker.com/compose/) to |
| 60 | +learn how to manage your application. |
| 61 | + |
| 62 | +## Acknowledgements |
| 63 | + |
| 64 | +Work partially funded by [OpenDreamKit](https://opendreamkit.org/). |
0 commit comments