Real BI is a tool used to connect to HPCC and create visualizations from the data stored in the clusters. The visualizations can be powered by the output from ROXIE queries, logical files, or custom executed ECL scripts.
This project is utilizing npm packages, to install project you will need Node and NPM installed on your machine.
https://nodejs.org/en/
To check if you already have Node installed run command in the terminal node -v
for NPM run npm -v
git clone https://github.com/hpcc-systems/REAL-BI.git
to copy the project into your computer.npm install
, it will install npm packages in root as well as /api
and /client
folders./client
rename the .env.example file to .env.development and fill in the empty values. You can find explanation inside .env.example .real_bi
./api
and run npx sequelize db:migrate
to build database tables./api
and run npx sequelize db:seed:all
to populate the database with seed cluster.npm start
it will start the server and client application at the same time.git clone https://github.com/hpcc-systems/REAL-BI.git
NODE_ENV
value to "production"./nginx/certs
./nginx/conf.d/realbi.conf.template
to match cert and key file names.docker-compose up --build -d
to create and run the containers.docker-compose.yml
file; container_name: certbot
env_file:
- .env
networks:
- realbi_network
depends_on:
- nginx
image: certbot/certbot:latest
command: certonly --webroot --webroot-path=<Path to acme challenge inside container> --email <Your email> --agree-tos --no-eff-email -d <Your domain>
volumes:
- <Path to certs on local machine>:<Path to certs inside container>
- <Path to acme-challenge on local machine>:<Path to acme-challenge inside container>
volumes:
- <Path to certs on local machine>:<Path to certs inside container>
- <Path to acme challenge on local machine>:<Path to acme challenge inside container>
nginx\conf.d\realbi.conf.template
and update the config to run without SSL first by commenting out SSL related settingsserver {
# listen $EXTERNAL_HTTPS_PORT ssl;
listen $EXTERNAL_HTTP_PORT;
server_name $HOST_HOSTNAME;
# ssl_certificate <Path to cert>;
# ssl_certificate_key <Path to key>;
nginx\conf.d\realbi.conf.template
define new location for acme challenge location /.well-known/acme-challenge/ {
root <Path to acme challenge inside container>;
}
Make sure that port 80 is open and the app is reachable over the internet.
Stop and remove the old Nginx container, then run docker-compose up -d --no-deps --build nginx certbot
docker logs certbot
.nginx\conf.d\realbi.conf.template
and update SSL path, ex.server {
listen $EXTERNAL_HTTPS_PORT ssl;
server_name $HOST_HOSTNAME;
ssl_certificate <Path to certs inside container>/live/<Your domain>/fullchain.pem;
ssl_certificate_key <Path to certs inside container>/live/<Your domain>/privkey.pem;
docker-compose up -d --no-deps --build nginx