自定义配置片段#
TLJH 的两个主要组件是 JupyterHub 和 Traefik。
jupyterhub_config.py
和 traefik.toml
文件由 TLJH 在安装期间创建,并且只能通过 tljh-config
由用户编辑。rules
目录也在安装期间创建,同时创建一个 rules/rules.toml
文件,供 JupyterHub 用于存储从用户到其笔记本的路由表。
注意
任何对这些文件的直接修改都是不受支持的,并且会导致难以调试的问题。
但有时 TLJH 需要以官方不支持的方式进行自定义,因此引入了一个“逃生舱口”以允许轻松扩展配置。请按照以下部分了解如何在 tljh-config
范围之外扩展 JupyterHub 和 Traefik 的配置。
扩展 jupyterhub_config.py
#
jupyterhub_config.d
目录允许您为配置加载多个 jupyterhub_config.py
片段。
/opt/tljh/config/jupyterhub_config.d
中以.py
结尾的任何文件将按字母顺序作为 python 文件加载,以提供 JupyterHub 的配置。配置文件可以有任何名称,但它们需要有
.py
扩展名并遵守此格式。任何可以在常规
jupyterhub_config.py
文件中配置的内容在这些文件中都是有效的。它们将在加载使用
tljh-config
指定的任何配置选项 之后 加载。
创建并定义自定义 JupyterHub 配置文件后,只需重新加载 hub 即可使新配置生效。
sudo tljh-config reload hub
扩展 traefik.toml
#
traefik_config.d
目录允许您为配置加载多个 traefik.toml
片段。
/opt/tljh/config/traefik_config.d
中以.toml
结尾的任何文件将按字母顺序加载,以提供 Traefik 的配置。配置文件可以有任何名称,但它们需要有
.toml
扩展名并遵守此格式。任何可以在常规
traefik.toml
文件中配置的内容在这些文件中都是有效的。它们将在加载使用
tljh-config
指定的任何配置选项 之后 加载。
创建并定义自定义 Traefik 配置文件后,只需重新加载代理即可使新配置生效。
sudo tljh-config reload proxy
警告
当 TLJH 切换到 Traefik > 2.0 时,这些说明可能会发生变化。
扩展 rules.toml
#
Traefik
配置为从 /opt/tljh/state/rules
目录加载其路由表。此目录中现有的 rules.toml
文件由 jupyterhub-traefik-proxy
使用,用于添加从用户到其笔记本服务器的 JupyterHub 路由,不应修改。
但是,路由表可以使用 rules
目录在 JupyterHub 范围之外进行扩展,方法是添加其他具有所需路由规则的动态配置文件。
注意
/opt/tljh/state/rules
中以 .toml
结尾的任何文件都将由 Traefik 进行热重载。这意味着无需重新加载代理服务即可使规则生效。