Prerequisites
Before you begin, make sure you have the following:- A working installation of Package Security Manager version
6.4.0
or later. - A Linux server that meets the system requirements.
Installing JupyterHub
1
Download and unpack the installer
- Log in to your Linux server as a root user.
-
Download the installer by running the following command:
-
Unpack the installer tarball:
Example
2
Gather your SSL/TLS certificate information
Locate your SSL/TLS The
.crt
and .key
files and note their paths for later use.If you don’t have valid SSL/TLS certificates, you can proceed by using the DIY-SSL-CA
package (included with the installer):The self-signed certificates created by the
DIY-SSL-CA
package can reduce your time to first use of JupyterHub, but should be replaced with valid certificates from a trusted certificate authority as soon as possible. Do not use self-signed certificates in production environments!create_noprompt.sh
script generates the files that you’ll reference later as environment variables at the following directory locations:DIY-SSL-CA/CA/ca.crt
DIY-SSL-CA/out/<HOSTNAME>/<HOSTNAME>-bundle.crt
DIY-SSL-CA/out/<HOSTNAME>/<HOSTNAME>.key
<HOSTNAME>
is your JupyterHub server hostname.3
Create a service account
The installer comes with a
keycloak.py
script. Use it to programmatically create a dedicated client for the JupyterHub services to authenticate users via Keycloak:Save the Client ID and Client Secret in a secure location.
4
Create an environment file
Create an environment file named Add the following information to the
The CA Cert is only required if you are using self-signed certificates.
The
.env
in your /home/<username>/
directory.If you already have an
.env
file in your home directory, you can name your new file something else, like .env_jhub_anaconda
..env
file you just created, including the actual values:ANACONDA_SERVER=
is the fully qualified domain name of your Package Security Manager server.The CA Cert is only required if you are using self-signed certificates.
The
REPO_CHANNELS
variable is a list of channels that the JupyterHub services will use to install packages when users build new environments in Jupyter. The installer configures conda to respect the order of the channels as they are listed in the environment file.5
Run the installer
Run the installation command:
Troubleshooting
I am receiving a libcrypt.so.1
error post installation
Cause
Cause
Amazon Linux does not include
libxcrypt-compat
, which causes nginx services to error when starting.Solution
Solution
If you receive a After installing the package, restart the nginx service:
libcrypt.so.1
error post installation, install the libxcrypt-compat
package on your JupyterHub server:SystemD version too old or unavailable, using local spawner
Cause
Cause
This warning occurs when JupyterHub is installed on a Linux system running
systemd < 245
. In this case, JupyterHub defaults to using the local spawner instead of systemdSpawner, and resource management is not enabled.Solution
Solution
JupyterHub requires If necessary, update your operating system to a Linux distribution that provides
systemd >= 245
or later for full resource management support.Verify your systemd version by running the following command:systemd >= 245
.