marcusianlevine.jupyterhub-container

jupyterhub-container

将 Jupyter Hub 服务添加到您的 Ansible Container 项目中。运行以下命令来安装该服务:

# 设置工作目录为您的 Ansible Container 项目根目录
$ cd myproject

# 安装服务
$ ansible-container install marcusianlevine.jupyterhub-container

需求

  • Ansible Container
  • 一个现有的 Ansible Container 项目。要创建项目,只需运行以下命令:
    # 创建一个空项目目录
    $ mkdir myproject
    
    # 设置工作目录为新目录
    $ cd myproject
    
    # 初始化项目
    $ ansible-container init
    

角色变量

  • vars_files
    • 可选的与 Conductor 上的 /src 相关的额外变量 YAML 文件路径列表
  • extra_pip_packages: [dockerspawner]
    • 要与 JupyterHub 一起安装的额外 pip 包列表

文件和目录

  • jupyterhub_config_dir: /etc/jupyterhub/
    • JupyterHub 配置文件将放置的目录的绝对路径
  • jupyterhub_config_path: "{{ jupyterhub_config_dir }}/jupyterhub_config.py"
    • JupyterHub 配置文件的绝对路径
  • jupyterhub_srv_dir: /srv/jupyterhub
  • jupyterhub_pip_version: 0.8.1
  • jupyter_config_dir: /etc/jupyter
    • Jupyter notebook 配置文件将放置的目录的绝对路径
  • jupyter_share_dir: /usr/local/share/jupyter
  • jupyter_templates_dir: "{{ jupyter_config_dir }}/templates"
  • ipython_config_dir: /etc/ipython

Spawner 配置

  • use_helm: no
  • allow_sudo: no
    • 使用 sudo 权限生成单用户笔记本
    • 警告:与容器化 Spawner 一起使用此选项将引入安全风险
  • mem_limit: yes
    • 默认没有限制。设置为有效的 Docker 或 Kubernetes mem_limit,例如 10G

用户认证

  • use_oauth: no
    • 使用 GitHub OAuth 进行用户认证
  • use_ldap: no
  • ldap_domain
  • ldap_bind_dn_template
  • ldap_allowed_group
  • ldap_user_search_base
  • ldap_search_user
  • ldap_user_attribute
  • user_list: []
    • 允许的用户白名单
  • admin_users: []
    • 给予管理员权限的用户列表

Miniconda 设置

  • miniconda_version
    • 指定要安装的特定版本的 Miniconda
  • conda_checksum
    • 如果 miniconda_version 不同于默认值,则为必填项!
  • conda_installer: Miniconda3-{{miniconda_version}}-Linux-x86_64.sh
    • 安装脚本的模板名称。仅在构建非标准架构时需要更改。
  • conda_prefix: /opt/conda
    • Miniconda 将安装的目录的绝对路径
  • conda_config
    • 指定任意 conda 配置,例如默认的 conda 源
    • 参考 vars/main.yml 中的示例

依赖

如果目标是默认的 dockerspawner,主机上必须安装 Docker,例如通过角色 mongrelion.docker

许可

BSD

作者信息

由 Marcus Levine 为 CKM Advisors 创建。

关于项目

Build a custom JupyterHub container

安装
ansible-galaxy install marcusianlevine.jupyterhub-container
许可证
bsd-3-clause
下载
95
拥有者
Data Science + DevOps = DataEng