I wanted to try out the open source reporting software Redash so got a local copy running on my MacBook. These are the instructions.
Installing Redash locally
Clone the Github repo:
git clone firstname.lastname@example.org:getredash/redash.git
The simplest way to run Redash is using Docker:
docker-compose -f docker-compose.production.yml run --rm server create_db docker-compose -f docker-compose.production.yml up
Your local Redash instance will be running on http://127.0.0.1:5000/ the first time you visit you’ll be prompted to set-up your admin user.
- Docker for Mac https://www.docker.com/docker-mac
- Official documentation https://redash.io/help/open-source/setup
Setting up a Data Source
You’ll need some data to have a play about with Redash, I dumped a local Postgres databases for this:
pg_dump -h localhost my_db > my_dump.sql
Next copy the database dump to the Redash Postgres Docker container:
docker cp my_dump.sql redash_postgres_1:/
Create your new database and read in the dump:
docker-compose exec postgres psql -U postgres CREATE DATABASE pete_test; \c pete_test \i my_dump.sql
Add a new datasource http://127.0.0.1:5000/queries/new in the Redash UI:
- Database IP is
- Database username is
- Full connection string
You can test the connection from the UI to make sure it works ok.
Creating a Report
Now go to http://127.0.0.1:5000/queries/new and create a report by writing an SQL query. You can create visualisations of queries and create dashboards of multiple queries and visualisations.
First impressions are good! Next steps are to get Redash set-up on an AWS server and try it out on some real data sources with real users.
I like the fact it can integrate with G Suite for login. Redash has an export feature to CSV and Excel, but doesn’t currently has an export to Google Sheets feature, this is something I’d be interested to develop if I become a regular Redash user.
Redash v3, the current version, doesn’t have fine levels of access control for data sources, but it appears you can work round this by adding the same database as multiple data sources and restricting access to different queries this way.
If you'd lke to contact me about this article then use twitter @petexgraham or email email@example.com.