HiDAV Summer Boot Camp Amazon Web Services Server Instance Setup
A complete and latest version of JupyterHub (v0.9.4) and Jupyter Notes (v5.7.4) environment is available at https://learnonline.chip.unc.edu:8000 for any system with a UNC campus IP address. The Jupyter Notes environment includes a Python 3.6.3 kernel with support for Node.js v10.10.0. Note that UNC VPN IP addresses are not supported due to the fact that this environment is on Amazon Web Services (AWS) with an AWS IP address which is not supported by the split tunneling feature of the campus VPN. Administrative access to this setup is available through https://aws.amazon.com. Access is available only to small number of instructor and student accounts which are currently not Onyen-based accounts.
The server is a 64-bit x86 (Intel) Red Hat Enterprise Linux 7.6 (RHEL) system with a 10 GB SSD drive, one GB of RAM and one CPU. It is accessible via SSH to certain select IP addresses and via TCP port 8000 for UNC IP addresses. The initial steps of the JupyterHub installation are based on the JupyterHub Quickstart and the Python 3.6 installation is based on How to Install Python 3 On Red Hat Enterprise Linux. Since additional software beyond the default was needed for the install, the rhui-REGION-rhel-server-rhscl and rhui-REGION-rhel-server-optional software repos on the system were enabled using the RHEL subscription-manager.
The following packages were installed to give full support for all the labs and demos in the HiDAV Summer Boot Camp.
- RHEL anaconda
- RHEL "Development Tools" install group
- RHEL rh-python36
- RHEL rh-python36-numpy
- RHEL rh-python36-scipy
- RHEL rh-python36-python-tools
- RHEL rh-python36-python-six
- RHEL rh-nodejs10
- RHEL libcurl-devel
- Python PIP
- Python jupyterhub
- Python pycurl
- Python ipyparallel
- Python nbgrader
- Python jupyter-drive
- Python nbviewer
- Python tmpnb
- Python tmpnb-deploy
- Python shiny
- Python ggplot2
- Python ipython-sql
- Python matplotlib
- Python beautifulsoup4
- Python tweepy
- Python pandas
- Python nltk
- Python numpy
- Python sklearn
- Python biopython
- Python scipy
- Python sympy
- Node.js configurable-http-proxy
- Python notebook
The Python packages were installed using PIP. Yum was used for the RHEL package installs and npm was used for the Node.js package installs. AWS Elastic IP was used to obtain a fixed IP address of 18.220.115.186 and the SSL certificate was obtained from the UNC InCommon SSL Certificate Service. All the code and data samples available from Enable Curriculum at a Glance (except for non-server LightSIDE) and from the classification, clustering and genomics directories from enable1.ils.unc.edu have been successfully tested with this setup. Even though there is a MATLAB kernel available for Jupyter Notebooks, the MATLAB software from enable1 has not yet been migrated due to space limitations.