Comment on page
Setup
https://redash.io/help/open-source/dev-guide/docker
We will use Docker to run all the services needed, except for Node.js which we will run locally.
- 2.
- 3.Install Yarn (1.22.10 or newer):
npm install --global [email protected]
SetupSetup
First you will need to clone the Git repository:
git clone https://github.com/getredash/redash.git
cd redash/
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 hereOnce you have the above setup, you need to create the Docker services:
docker-compose up -d
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).yarn --frozen-lockfile
# Create tables
docker-compose run --rm server create_db
# Create database for tests
docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests"
After your installation is complete, you can do the healthcheck by calling
/ping
API endpoint.RESPONSE
PONG.
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):
yarn build
To work on the frontend code, you need to use the webpack dev server, which you start with:
yarn start
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).If you pulled a new version with new packages or added some yourself, you will need to rebuild the
server
and worker
images:docker-compose build worker
docker-compose build server
docker-compose run --rm server tests
Before running tests for the first time, you need to create a database for tests:
docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests;"
Last modified 4mo ago