Setting up a Redash Instance
Create an Instance
For basic deployments we recommend a minimum of 4GB of RAM and reasonable amount of CPU allocation. As usage grows you might need additional RAM and CPU power to support increased number of background workers and API processes.
To create an instance, you have the following options:
We have not updated our official images for V10 yet. However, you can deploy a V8 instance and upgrade it following these instructions.
There is a video demonstration of this process below
Launch the instance with the pre-baked AMI we create (for small deployments t2.small should be enough):
(the above AMIs are of version: 8.0.0)
When launching the instance make sure to use a Security Group, that only allows incoming traffic on ports: 22 (SSH), 80 (HTTP) and 443 (HTTPS). These AMIs are based on Ubuntu so you will need to use the user
ubuntu when connecting to the instance via SSH.
Now proceed to “Setup”.
To get started on GCE, run the following commands in your Cloud Shell.
First, you need to add the Redash image to your account:
$ gcloud compute images create "redash-8-0-0" --source-uri gs://redash-images/redash.8.0.0-b32245-1.tar.gz
Next, you need to launch an instance using this image. The
n1-standard-1 machine type is recommended. You can launch an instance using the image with the command below (you may need to specify the zone of the instance with the
$ gcloud compute instances create redash --image redash-8-0-0
Now proceed to “Setup”.
The AWS, DigitalOcean and Google Compute Engine images are created using our Setup Script, which is designed to run on Ubuntu 18.04 server. You can either use the script as is (if you intend to run it on Ubuntu) or use it as a blueprint to create your own setup.
What the script does is:
- Install Docker and Docker Compose.
- Download our recommended Docker Compose configuration and create initial configuration.
- Start everything.
Note that the script assumes you are running it on a “clean” machine. If you’re running this script on a machine that is used for other purposes, you might want to tweak it to your needs.
For every Redash release we also create updated Docker image. Our image follows best practices and can be used in any container orchestation platforms like Kubernetes, ECS or just simply with Docker Compose (which we use in our images).
If you do not use one of our cloud images, you must manually set up Redash’s secret keys:
- Create a
.envin the same folder as your
- Write any sensitive environment variables in bash syntax:
REDASH_SECRET_KEY=... REDASH_COOKIE_SECRET=... GOOGLE_CLIENT_ID=...
Do not commit this file to version control.
For development environment setup, please refer to the developer guide (which includes Docker specific instructions as well).
To run Redash you need several instances of Redash (API server and background workers to run queries) along with Redis and PostgreSQL. If you don’t want or can’t use our images or Setup Script, you can refer to the Docker Compose configuration to understand what services you need to define.
Once you created the instance with either the image or the script, you should have a running Redash instance with everything you need to get started. Redash should be available using the server IP or DNS name you assigned to it. You can point your browser to this address.
Before you can continue, it will ask you to create your admin account. Once this is done, you can start using Redash.
To make your setup more complete, there are a few more steps that you need to manually do:
For the system to be able to send emails (user invites, password resets, when alerts trigger and more), you need to configure Redash with the mail server you use. Mail server configuration is done using Envrionment Variables. If you’re using one of our images, you can do this by editing the
The relevant configuration variables are (note that not all of them are required):
REDASH_MAIL_DEFAULT_SENDER(Email address to send from)
Also you need to set the value of
REDASH_HOST, which is the base address of your Redash instance (the DNS name or IP) with the protocol, so for example:
Once you updated the configuration, restart all services (
docker-compose up -d, running
docker-compose restart won’t be enough as it won’t read changes to env file). To test email configuration, you can run
docker-compose run --rm server manage send_test_mail.
Google OAuth Setup
If you want to use Google OAuth to authenticate users, you need to create a Google Developers project (see instructions and then add the needed configuration in the
REDASH_GOOGLE_CLIENT_ID(Google OAuth Client ID)
REDASH_GOOGLE_CLIENT_SECRET(Google OAuth Client Secret)
Once updated, restart the web server (
docker-compose up -d server). Once enabled, Redash will use Google OAuth to authenticate existing user accounts. To enable automatic user creation who belong to a specific domain name, you can add this domain (or more) in the setting page:
Other Configuration Options
Redash uses environment variables for configuration. For a full list of environment variables, see the settings article.
How to upgrade?
It’s recommended to upgrade when new releases are available to benefit from bug fixes and new features. See here for full upgrade instructions.