marcusianlevine.jupyterhub-container

jupyterhub-container

This adds a Jupyter Hub service to your Ansible Container project. To install the service, run these commands:

# Change the working directory to your Ansible Container project
$ cd myproject

# Install the service
$ ansible-container install marcusianlevine.jupyterhub-container

Requirements

  • Ansible Container
  • A current Ansible Container project. To create one, run the following:
    # Make an empty project directory
    $ mkdir myproject
    
    # Change the working directory to the new directory
    $ cd myproject
    
    # Start the project
    $ ansible-container init
    

Role Variables

  • vars_files
    • Optional list of paths for extra variable YAML files
  • extra_pip_packages: [dockerspawner]
    • List of extra Python packages to install with JupyterHub

Files & Directories

  • jupyterhub_config_dir: /etc/jupyterhub/
    • Path where the JupyterHub config file will go
  • jupyterhub_config_path: "{{ jupyterhub_config_dir }}/jupyterhub_config.py"
    • Path of the JupyterHub config file
  • jupyterhub_srv_dir: /srv/jupyterhub
  • jupyterhub_pip_version: 0.8.1
  • jupyter_config_dir: /etc/jupyter
    • Path for the Jupyter notebook config file
  • jupyter_share_dir: /usr/local/share/jupyter
  • jupyter_templates_dir: "{{ jupyter_config_dir }}/templates"
  • ipython_config_dir: /etc/ipython

Spawner config

  • use_helm: no
  • allow_sudo: no
    • Enable single-user notebooks to use sudo permissions
    • WARNING: This may create security risks in containerized Spawners
  • mem_limit: yes
    • No limit by default. You can set a valid Docker or Kubernetes mem_limit, like 10G

User authentication

  • use_oauth: no
    • Use GitHub OAuth for user login
  • use_ldap: no
    • Use ldapauthenticator for user login
    • Check documentation for details on these settings:
  • ldap_domain
  • ldap_bind_dn_template
  • ldap_allowed_group
  • ldap_user_search_base
  • ldap_search_user
  • ldap_user_attribute
  • user_list: []
    • List of users who are allowed
  • admin_users: []
    • List of users with admin privileges

Miniconda settings

  • miniconda_version
  • conda_checksum
    • REQUIRED IF miniconda_version IS NOT DEFAULT!
  • conda_installer: Miniconda3-{{miniconda_version}}-Linux-x86_64.sh
    • Name of the installer script. Change this if building on a different architecture.
  • conda_prefix: /opt/conda
    • Path where Miniconda will be installed
  • conda_config
    • Specify conda config settings, like default channels to search
    • Check vars/main.yml for an example

Dependencies

If using the default dockerspawner, Docker must be installed on the host, e.g., using the role mongrelion.docker

License

BSD

Author Information

Created by Marcus Levine for CKM Advisors.

Informazioni sul progetto

Build a custom JupyterHub container

Installa
ansible-galaxy install marcusianlevine.jupyterhub-container
Licenza
bsd-3-clause
Download
95
Proprietario
Data Science + DevOps = DataEng