Installation Tutorial for Linux

This tutorial is for installing QuantRocket on a local computer running Linux. (It can also be used for installing QuantRocket in a private cloud, which is an advanced scenario.) If you are looking for a typical cloud installation onto a Linux VM running in the cloud, please use the cloud tutorial.

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

  • install Docker
  • install QuantRocket

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
Creating volume "quantrocket_codeload" with default driver
Creating volume "quantrocket_db" with default driver
Creating volume "quantrocket_flightlog" with default driver
Creating volume "quantrocket_settings" with default driver
Pulling codeload (quantrocket/codeload:2.5.0)...
2.5.0: Pulling from quantrocket/codeload
852e50cd189d: Pull complete
a6236801494d: Downloading [======================================>            ]  62.63MB/80.38MB
679c171d6942: Download complete
8fe74afaa3e3: Download complete
d9ada034b8a6: Downloading [=============>                                     ]   4.94MB/18.95MB

You can list all the containers that are running:

$ docker ps
Output
CONTAINER ID   IMAGE                         COMMAND                  CREATED             STATUS             PORTS                                            NAMES
d26da467ac03   bc77b14f9c3d                  "uwsgi-quantrocket -…"   About an hour ago   Up About an hour   80/tcp                                           quantrocket_master_1
b1569b403b38   f2226cb5f6c3                  "uwsgi-quantrocket -…"   About an hour ago   Up About an hour   80/tcp                                           quantrocket_fundamental_1
fcf1c7b0fb36   1ca2dbd9bfd2                  "uwsgi-quantrocket -…"   About an hour ago   Up About an hour   80/tcp                                           quantrocket_realtime_1
952089561d20   fcade8902208                  "uwsgi-quantrocket -…"   About an hour ago   Up About an hour   80/tcp                                           quantrocket_history_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. Click the Quickstart button to find an interactive tour and other resources to help you get started with QuantRocket:

JupyterLab home