Skip to main content
Administrators are responsible for configuring, securing, and maintaining JupyterHub to ensure reliable and performant operation.

Resource management

The JupyterHub installer bundles a conda environment that includes SystemdSpawner to manage resource allocation, security, and process isolation for user notebooks by integrating with systemd and Linux cgroups. SystemdSpawner provides:
  • Memory and CPU limits per user
  • Fair scheduling independent of process count
  • Accurate resource accounting via cgroups
  • Path restrictions for user write access
  • Automatic log collection to journald with rotation
  • Process isolation through systemd units

Configuration file location

JupyterHub configuration is managed in:

Basic resource configuration

Set default resource limits for all users:

Advanced resource configuration

Working directory and paths

As an admin, you can control how users access different parts of the workspace. For example, you might make shared data readonly while allowing notebook outputs to be writeable. To configure workspace locations:

Applying configuration changes

Before you restart the JupyterHub service, have all users save their work and log out. JupyterHub is configured through the jupyterhub_config.py file. Apply any configuration updates to that file, then restart the JupyterHub service:

Security management

SSL/TLS certificate management

To replace certificates from external providers, copy the new certs to the correct location:

Security hardening

Additional security configurations:
Refer to the official JupyterHub documentation for more information on using secure headers.

Monitoring & troubleshooting

Log management

To view JupyterHub service logs:

User sessions failing

Check user-specific logs:

Need more help with JupyterHub?