Setup

https://redash.io/help/open-source/dev-guide/docker

1. Installing Docker, Docker Compose and Node.js

We will use Docker to run all the services needed, except for Node.js which we will run locally.

  1. Install Node.js (14.16.1 or newer, can be installed with Homebrew on OS/X)

  2. Install Yarn (1.22.10 or newer): npm install --global [email protected]SetupSetup

2. Setup

i. Clone the Git repository

First you will need to clone the Git repository:

git clone https://github.com/getredash/redash.git
cd redash/

ii. Set up environment variables

Create a .env file at the root and set any environment variables you need.

$ touch .env

An environment variable named REDASH_COOKIE_SECRET is required to run the application. Read more why Redash uses secret keys here

You should include any relevant environment variables in this file.

iii. Create Docker Services

Once you have the above setup, you need to create the Docker services:

This will build the Docker images and fetch some prebuilt images and then start the services (Redash web server, worker, PostgreSQL and Redis). You can refer to the docker-compose.yml file to see the full configuration.

If you hit an errno 137 or errno 134 particularly at RUN yarn build, make sure you give your Docker VM enough memory (4GB or more).

vi. Install Node Packages

v. Create Database

vi. Health Check for Installation

3. Usage

i. Run webpack Dev Server

Once all Docker services are running (can be started either by docker-compose up or docker-compose start), Redash is available at http://localhost:5000/.

While we will use webpack’s dev server, we still need to build the frontend assets at least once, as some of them used for static pages (login page and such):

To work on the frontend code, you need to use the webpack dev server, which you start with:

Now the dev server is available at http://localhost:8080. It rebuilds the frontend code when you change it and refreshes the browser. All the API calls are proxied to localhost:5000 (the server running in Docker).

ii. Installing new Python packages (requirements.txt)

If you pulled a new version with new packages or added some yourself, you will need to rebuild the server and worker images:

iii. Running Tests

Before running tests for the first time, you need to create a database for tests:

vi. Debugging

See Debugging a Redash Server on Docker Using Visual Studio Code

Last updated

Was this helpful?