Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create beautiful charts. It features a chart builder, editable dashboards, embedable charts, query & requests editor, and team capabilities.
Chartbrew as a service is available here
Data sources
Check Chartbrew’s website for the latest list of supported data sources
Prerequisites
- NodeJS v14+
- NPM
- MySQL (5+) or PostgreSQL (12.5+)
Start
It is recommended you head over to the more detailed documentation to find out how to set up Chartbrew
Run locally with the CLI tool
If you already have a MySQL or PostgreSQL server running, create a database called chartbrew
and follow the prompts of the create-chartbrew-app
command below.
Important Windows command line is not supported at the moment. Use something like Cygwin on Windows.
npx create-chartbrew-app chartbrew
The CLI tool creates a chartbrew/.env
file which you can configure at any time if you want to change the database, API & client host, etc. The file contains comments explaining what each environmental variable is for. Check out which need to be set here.
Run the project in Development
Open two terminals, one for front-end and the other for back-end.
# frontend cd client/ npm run start # backend cd server/ npm run start-dev
Deploy Chartbrew on Render
Deploy Chartbrew on Heroku and Vercel
Read more on how to do this here
Run with Docker
Check the full guide in the docs.
Quickstart
A Chartbrew docker image is built whenever a new version is released.
Before running the commands below, make sure you have a MySQL server already running and an empty database that Chartbrew can use. The database name should match the value of the CB_DB_NAME
variable.
For amd64
architecture:
docker pull razvanilin/chartbrew docker run -p 4019:4019 -p 4018:4018 -e CB_SECRET=enter_a_secure_string -e CB_API_HOST=0.0.0.0 -e CB_API_PORT=4019 -e CB_DB_HOST=host.docker.internal -e CB_DB_PORT=3306 -e CB_DB_NAME=chartbrew -e CB_DB_USERNAME=root -e CB_DB_PASSWORD=password -e REACT_APP_CLIENT_HOST=http://localhost:4018 -e REACT_APP_API_HOST=http://localhost:4019 razvanilin/chartbrew
For arm64
architecture:
docker pull razvanilin/chartbrew:latest-arm64 docker run -p 4019:4019 -p 4018:4018 -e CB_SECRET=enter_a_secure_string -e CB_API_HOST=0.0.0.0 -e CB_API_PORT=4019 -e CB_DB_HOST=host.docker.internal -e CB_DB_PORT=3306 -e CB_DB_NAME=chartbrew -e CB_DB_USERNAME=root -e CB_DB_PASSWORD=password -e REACT_APP_CLIENT_HOST=http://localhost:4018 -e REACT_APP_API_HOST=http://localhost:4019 razvanilin/chartbrew:latest-arm64
Changing environmental variables
If you want to run your Docker image with new environmental variables, it’s important to build the client application again withing the image. This is done by running the following command:
# replace 'your_container_name' with the name of your docker container where Chartbrew is running docker exec -it -w /code/client your_container_name npm run build
Acknowledgements
Many thanks to everybody that contributed to this open-source project