自定义配置片段#
TLJH 的两个主要组件是 JupyterHub 和 Traefik。
TLJH 在安装期间创建 jupyterhub_config.py
和 traefik.toml
文件,用户只能通过 tljh-config
编辑这些文件。 rules
目录也是在安装期间创建的,其中包含一个 rules/rules.toml
文件,供 JupyterHub 用于存储从用户到其笔记本的路由表。
注意
对这些文件的任何直接修改都不受支持,并且会导致难以调试的问题。
但由于有时 TLJH 需要以官方不支持的方式进行自定义,因此引入了一个逃生舱,允许轻松扩展配置。 请遵循以下部分了解如何在 tljh-config
范围之外扩展 JupyterHub 和 Traefik 的配置。
扩展 jupyterhub_config.py
#
jupyterhub_config.d
目录允许您为您的配置加载多个 jupyterhub_config.py
片段。
任何以
.py
结尾的/opt/tljh/config/jupyterhub_config.d
中的文件将按字母顺序作为 python 文件加载,以提供 JupyterHub 的配置。配置文件可以有任意名称,但它们需要具有
.py
扩展名并遵守此格式。任何可以在常规
jupyterhub_config.py
文件中使用的配置在这些文件中都是有效的。它们将在使用
tljh-config
指定的任何配置选项加载之后加载。
创建和定义自定义 JupyterHub 配置文件后,只需重新加载中心即可使新配置生效。
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 热加载。这意味着无需重新加载代理服务即可使规则生效。