The goal of this repository is to produce a reference deployment of JupyterHubfor teaching with nbgrader.
The repository started from this deployment of JupyterHubfor "Introduction to Data Science" at Cal Poly.It is designed to be a simple and reusable JupyterHub deployment, whilefollowing best practices.
The main use case targeted is small to medium groups of trusted usersworking on a single server.
Create a JupyterHub teaching reference deployment that is simple yetfunctional:
To deploy this JupyterHub reference deployment, you should have:
pip install "ansible>=2.1"
)
For administration of the server, you should also:
root
for administration.For managing users and services on the server, you will:
Follow the detailed instructions in the Installation Guide.
The basic steps are:
ansible-playbook -i hosts deploy.yml
supervisorctl reload
The nbgrader package is installed when JupyterHub is installed using thesteps in the Installation Guide.
View the documentation for detailed configuration steps. The basic steps toconfigure formgrade or nbgrader's notebook extensions are:
nbgrader extension activate
ansible-playbook -i hosts deploy_formgrade.yml
supervisorctl reload
With this reference deployment, instructors can start to use nbgrader.The Using nbgrader sectionof the reference deployment documentation gives brief instructions aboutcreating course assignments, releasing them to students, and grading studentsubmissions.
For full details about nbgrader and its features, see the nbgrader documentation.
Change the ansible configuration by editing ./ansible_cfg
.
To limit the deployment to certain hosts, add -l hostname
to theAnsible deploy commands:
ansible-playbook -i hosts -l hostname deploy.yml
If you are not using GitHub OAuth, you will need to manually create usersusing adduser: adduser --gecos "" username
.
The logs for jupyterhub are in /var/log/jupyterhub
.
The logs for nbgrader are in /var/log/nbgrader
.
To manage the jupyterhub and nbgrader services by SSH to the serverand run: supervisorctl jupyterhub [start|stop|restart]
Technical Overview |Prerequisites |Authenticator setup |Build the JupyterHub Docker image |Spawner: Prepare the Jupyter Notebook Image |Run JupyterHub |Behind the scenes |FAQ jupyterhub-deploy-docker
使用 JupyterHub,您可以创建一个多用户 Hub,它可以生成、管理和代理单用户 Jupyter notebook 服务器的多个实例。 三个主要角色组成 JupyterHub: 多用户 Hub (tornado process) 可配置的 http 代理 (node-http-proxy) 多个单用户 Jupyter notebook 服务器(Python/Jupyter/tornado)
Zero to JupyterHub with Kubernetes This repo contains a Helm chart for JupyterHub and a guide to use it. Togetherthey allow you to make a JupyterHub available to a very large group of userssuch as the
This section focuses on deploying real-world models. It contains the following documents: @{$distributed$Distributed TensorFlow}, which explains how to create a cluster of TensorFlow servers. @{$tfser
该系统主要用于PHP代码的发布和回滚,主要业务对象为项目和机器。项目关联服务器,针对项目进行版本发布,针对Git仓库的TAG进行回滚,目前仅支持全量发布和回滚, 不支持单文件的发布。 该系统可部署在单独的服务器上,但消息worker端必须与Git仓库部署在一起 使用的python扩展如下: angularjs tornado oslo.config sqlalchemy python-mysql
Apache::Deploy 是一个 (R)?ex 的模块,用来快速发布网站到 Apache 和 WAR 文件到 Tomcat. 简化了多服务器应用的发布过程。 一段发布应用到 Tomcat 的脚本: use Rex::Apache::Deploy Tomcat;# Version of the applicationmy $VERSION = "1.0";user "deploy";public