Giter VIP home page Giter VIP logo

jhub_backend's Introduction

Run the services that make up the JupyterHub backend. It includes multiple instances of JupyterHub, load-balanced by HAProxy. All services are run in docker containers. Notebook servers are launched on the Rancher Docker platform. Users are pre-authenticated on the frontend Apache server through web-SSO (shibboleth).

Prerequisites:

  • Set the environment variable JHUB_SETUP_DIR and point it to this directory.
  • Install docker in the latest version. See doc/README_docker for tips about docker
  • If you have not yet generated a hub api token call bin/generate_hub_api_token.sh and save the string printed on the screen in the variable 'api_token' in section 'JUPYTERHUB' in etc/config.ini
  • Create HAProxy configuration file by calling bin/generate_hub_api_token.sh You need to do that only once.
  • Adjust configuration file etc/config.ini as needed. In particular the following parameters need to be adjusted: RANCHER section: env_id, rest_base_url, access_key, secret_key JUPYTERHUB section: hub_ip, api_token
  • Make sure the local firewall allows connections from the frontend server and from the docker VMs (cows) as described in doc/README_iptables

Start and stop services:

Launch services by e.g. calling

bin/manage_service.sh start nbmon hub lb

Stop services by e.g. calling

bin/manage_service.sh stop lb hub nbmon

(Find out options by calling bin/manage_service.sh without any options)

Firewall rules for the jupyterhub backend:

  • The jupyterhub frontend web server must be able to connect to the backend on port 80
  • All docker VMs (Rancher lingo: cows) must be able to connect to all hub ports and hub api ports (not the proxy api ports though)

See doc/README_iptables for potentially useful testing commands before puppetising the rules

jhub_backend's People

Contributors

mondkaefer avatar

Watchers

 avatar  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.