Giter VIP home page Giter VIP logo

tljh-datascience's Introduction

tljh-datascience

Tells TLJH to use DockerSpawner to spin up jupyter/datascience-notebook containers for each user. This makes it easy to include R and Julia Kernels for your JupyterHub users. Read more about what's included in the jupyter/datascience-notebook here.

The plugin also sets jupyterlab as the default interface.

Install

Include --plugin tljh-datascience in your TLJH install script. For example, here user kschuler with password password installs TLJH with tljh-datascience:

#!/bin/bash

curl https://raw.githubusercontent.com/jupyterhub/the-littlest-jupyterhub/master/bootstrap/bootstrap.py \
  | sudo python3 - \
    --admin kschuler:password --plugin git+https://github.com/pennchildlanglab/tljh-datascience

Customize docker images

To add other or different images for your users to select, edit the dockerspawner config file by SSH-ing into your server and running

sudo nano /opt/tljh/config/jupyterhub_config.d/dockerspawner_tljh_config.py

The current list of available images is in c.DockerSpawner.image_whitelist = ['jupyter/datascience-notebook:r-4.0.3', 'jupyter/datascience-notebook:r-3.6.6']. You can edit this list to include any docker images you want to make available to your users. Then reload the hub.

sudo tljh-config reload

The plugin currently pulls only one docker image, so other images will take a while to spin up the first time. If you want to pre-pull the images, you can also run the following, where <tag> is the specific tag for the image.

sudo docker pull jupyter/datascience-notebook:<tag>"

More advanced use

This plugin simply uses docker spawner to start user servers in the docker containers you make available in a list. For more complex use-cases, check out tljh-repo2docker plugin.

Attribution

This plugin was inspired by this Ideonate post and the Rxns stack plugin

To-do

  • figure out how to include jupyterlab plugins (probably just a docker image based on the datascience-notebook is the easiest)
  • we could prob do this without using subprocesses -- maybe require dockerspawner in the setup.py and then import it; and then just install docker.io via additional apt packages.

tljh-datascience's People

Contributors

kschuler avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.