Installation Guide¶
Prerequisites¶
Start a server running latest Ubuntu version.
Enable password-less SSH access for ubuntu user.
Partition and format any local disks you want to mount.
Verify a valid DNS entry for the server.
Choose an SSL certificate source. Use either of these options:
- Let’s Encrypt
- obtain a trusted SSL certificate and key for the server at that FQDN.
Checkout the latest version of the repository including the
ansible-condasubmodule:$ git clone --recursive https://github.com/jupyterhub/jupyterhub-deploy-teaching.git
Create the hosts group¶
- Edit the
./hostsfile to lists the FQDN’s of the hosts in thejupyterhub_hostsgroup. - Create for each host a file in
./host_varsdirectory with the name of the host, starting from./host_vars/hostname.example.
Secure your deployment¶
Create a cookie secret file,
./security/cookie_secret, using:$ openssl rand -hex 1024 > ./security/cookie_secret
For additional information, see the cookie secret file section in the JupyterHub documentation.
If you are using Let’s Encrypt, skip this step. Otherwise, install your SSL private key
./security/ssl.keyand certificate as./security/ssl.crt.
Deploy with Ansible¶
Run
ansible-playbookfor the main deployment:$ ansible-playbook deploy.yml
Verify your deployment¶
SSH into the server:
$ ssh root@{hostname}
substituting your hostname for {hostname}. For example, ssh root@jupyter.org.
Reload supervisor:
$ supervisorctl reload