Installation Tutorial for Linux

This tutorial is for installing QuantRocket on a Linux computer with a GUI. To install QuantRocket on a headless Linux VM in the cloud, please use one of the cloud provider tutorials.

Introduction

QuantRocket runs on Docker, so installing QuantRocket is a two-part process:

  • install Docker
  • install QuantRocket
If you're new to Docker, it may be helpful to read the overview of QuantRocket's architecture before starting.

Install Docker

Visit Docker's website and follow the installation instructions for your distribution:

When finished, run Docker's hello-world container to verify the installation:

$ sudo docker run hello-world

By default, you have to use sudo to run Docker. Forgetting to do so can result in confusing error messages, so follow the steps to allow yourself to manage Docker as a non-root user. Verify that it worked by running (without sudo):

$ docker run hello-world

You may also want to configure Docker to start on boot.

Next, follow the instructions for installing Docker Compose on Linux.

When finished, verify your installation:

$ docker-compose --version

Install QuantRocket

To install QuantRocket, download a Docker Compose file which tells Docker how to create the QuantRocket stack. A Compose file is a YAML file that defines a multi-container Docker application.

On your computer, open a terminal.

Create a folder for QuantRocket under your home directory:

$ cd ~
$ mkdir quantrocket
$ cd quantrocket

Copy and paste the following command to download the latest Compose file and save to your computer:

$ curl 'https://www.quantrocket.com/composefiles/latest/local/docker-compose.yml' -o docker-compose.yml

(You can also download the Compose file from the downloads page.)

Now, use docker-compose to deploy QuantRocket:

$ cd ~/quantrocket
$ docker-compose -p quantrocket up -d

Docker Compose will read your docker-compose.yml, pull the images down from Docker Hub, and create and run containers from the images. This process takes 5-15 minutes. You will see output like this:

Output
Creating network "quantrocket_default" with the default driver
Pulling houston (quantrocket/houston:0.8.0)...
ad74af05f5a2: Pull complete
c1da3f388f16: Extracting [============================================>      ]  110.3MB/125.3MB
3f388f16: Downloading [===========================================>       ]    108MB/125.3MBte
4c2b7a4aefc0: Download complete
e61a44100a50: Download complete
8e960303c169: Waiting
f2a1d6599d9d: Waiting

You can list all the containers that are running:

$ docker ps
Output
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                           NAMES
476bd8607707        quantrocket/history:0.2.6           "/usr/bin/tini -- ..."   37 seconds ago      Up 33 seconds       80/tcp                          quantrocket_history_1
96e93387015c        quantrocket/master:0.2.11           "/usr/bin/tini -- ..."   37 seconds ago      Up 32 seconds       80/tcp                          quantrocket_master_1
fc4b87285158        quantrocket/jupyter:4.4.0.7         "/usr/bin/tini -- ..."   38 seconds ago      Up 33 seconds       80/tcp                          quantrocket_jupyter_1
...

You can now access the Jupyter environment in your browser at:

http://localhost:1969

You may want to bookmark this URL.

In JupyterLab you'll see the JupyterLab dashboard. Open the Quickstart notebook (QuickStart.ipynb) to find an interactive tour and other resources to help you get started with QuantRocket:

JupyterLab home