System requirements
The installer is a self-extracting binary that contains all of the necessary components to run JupyterHub services. Before you install JupyterHub onto your Linux server, make sure that it meets all the following requirements:System setup requirements
The following prerequisites must be in place before installation:- Linux variant with
systemd
version 245 or higher - Kernel with
memory cgroups
andCFS scheduling
enabled - Root access for JupyterHub (for
systemd-run
) - FQDN, DNS record, and TLS/SSL certificate
Amazon Linux does not include
If you receive a
libxcrypt-compat
, which causes nginx services to error when starting.If you receive a
libcrypt.so.1
error post installation, install the libxcrypt-compat
package:Hardware requirements
Because all users share the same pool of resources on the server, hardware requirements for running JupyterHub vary depending on the number of users accessing the server at any one time. Use the following formulas to determine your hardware requirements:- Recommended RAM = (maximum active users x maximum memory per user) + 1GB
- Recommended CPUs = (maximum active users x maximum CPU usage per user) + 20%
- Recommended disk storage = (total users x maximum disk usage per user) + 2 GB
Networking requirements
TLS/SSL
The JupyterHub integration requires TLS/SSL certificates to secure traffic. The installer includes aDIY-SSL-CA
package to generate self-signed certificates, if needed.
If you are using third-party CA certificates, verify your SSL chain via
openssl
. The command must return 0
for user authentication to succeed.DNS
DNS must be configured prior to installation to support HTTPS.Add your JupyterHub server domain to
/etc/hosts
so the server is accessible via HTTPS:Firewall
Restrict inbound access to only required ports::443
nginx for HTTPS:22
ssh (optional) for remote access