Open source business analytics stack recipe
2 min readDec 9, 2019
VM
Amazon: t2-small, ubuntu 18.04
Add inbound rules 8080 and 3000 in VM’s Security Group
Install postgres
- sudo apt-get update
- sudo apt install postgresql postgresql-contrib
- sudo -i -u postgres
- psql
createuser --interactive # superset — superuser
createuser --interactive #
metabase — superuser- psql postgres
- ALTER USER superset WITH PASSWORD ‘some password’;
- ALTER USER metabase WITH PASSWORD ‘some password’;
- create database csvs;
- \q
- exit
Install Superset
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-devpip install virtualenv
sudo apt-get install python3-venvpython3 -m venv venv
. venv/bin/activatesudo apt-get install python3 python-dev python3-devpip install psycopg2-binarypip install --upgrade setuptools pip# Install superset
pip install apache-superset
# Initialize the database
superset db upgrade# Create an admin user (you will be prompted to set a username, first and last name before setting a password)
export FLASK_APP=superset
flask fab create-admin
# Create default roles and permissions
superset initgunicorn --timeout 60 \
--bind 0.0.0.0:8080 \
--daemon\
--limit-request-line 0 \
--limit-request-field_size 0 \
--forwarded-allow-ips="*" superset:app
Connect db
- sources -> Databases -> new
- database: csvs
- SQLAlchemy URI: postgresql://superset:<postgres-password>@localhost:5432/csvs
- Check Allow Csv Upload
Install Metabase
sudo apt-get update
sudo apt install default-jre
wget http://downloads.metabase.com/v0.33.6/metabase.jar
java -jar metabase.jar
Connect postgres database: admin -> databases -> add database
host: localhost
port: 5432
database: csvs
https://docs.docker.com/compose/install/
gunicorn -b 0.0.0.0:8080 — limit-request-line 0 — limit-request-field_size 0 superset:app
gunicorn --timeout 60 \
--bind 0.0.0.0:8080 \
--daemon\
--limit-request-line 0 \
--limit-request-field_size 0 \
--forwarded-allow-ips="*" superset:app
sudo apt-get install python3 python-dev python3-dev
pip install psycopg2-binary