Skip to content

Set Up and Tools

In this section, we'll review the tools we need to install locally get JupyterHub running on a remote sever.

Before we launch into the server setup, let's quick review where certain files are going to go on the JupyterHub remote server.

File Locations and Directory Structure

According to the JuptyerHub docs:

The folks at JupyterHub recommend that we put all of the files used by JupyterHub on the server into standard UNIX filesystem locations:

  • /srv/jupyterhub for all security and runtime files
  • /etc/jupyterhub for all configuration files
  • /var/log for log files

Development tools

PuTTY Gen

Before we create the remote server, a set of private/public SSH keys are needed. SSH keys can be created with PuTTY Gen. PuTTY Gen is installed with a typical PuTTY installation. See this post for a details.

PuTTY installation page

PuTTY

An SSH terminal program is needed to communicate with the server. On Windows 10, I use PuTTY. See this post for details. On MacOS and Linux, SSH from the command line works as well. PuTTY and PuTTY Gen are installed at the same time all in one go.

FileZilla

It is helpful to have an SFTP client to move large files back and forth between our local computer and the server. On Windows 10, I use FileZilla.

filezilla_download_page

Anaconda

Locally, I use the Anaconda distribution of Python and the Anaconda Prompt to create virtual environments and run Python code.

Anaconda Download Page

Visual Studio Code

I use a couple of different Python code editors. My two favorites are Visual Studio Code and PyCharm. You can download and install Visual Studio Code here. PyCharm has a community edition which is free, and a professional version which requires a license. For this JupyterHub deployment, I'll just use Visual Studio Code.

Visual Studio Code Download Page

Digital Ocean

This JupyterHub deployment runs on a Digital Ocean virtual private server. You can sign up for a new Digital Ocean account here. Local development and testing was completed on a Windows 10 laptop and desktop.

Digital Ocean Main Page

Summary

JupyterHub has a set of standard file locations where we will put our configuration and runtime files.

Our local computer needs a couple tools installed before we can start working with the cloud server and install JupyterHub:

  • PuTTYgen - create SSH Keys
  • PuTTY - communicate with the server over SSH
  • FileZilla - FTP client
  • Anaconda - local version of Python
  • Visual Studio Code - local code editor

Next Steps

The next step is to create a public-private SSH key pair with PuTTYgen. We'll use this public-private SSH key to log into the server with PuTTY.