What is SpagoBI?

This is the official repository of SpagoBI. SpagoBI is the only entirely Open Source Business Intelligence suite. It covers all the analytical areas of Business Intelligence projects, with innovative themes and engines.


Supported tags and respective Dockerfile links

Run SpagoBI All In One

Run SpagoBI with embedded Database

All in One image contains many demo examples with the DB included. SpagoBI is started in this way:

$ docker run --name spagobi -d spagobilabs/spagobi:all-in-one

Run SpagoBI with MySQL Database

It's also possible to run SpagoBI connected to an external MySQL Docker container. It doesn't contain examples, because the examples are in the embedded database. It's like an empty installation.

Firstly run the MySQL Database container for SpagoBI:

$ docker run --name spagobidb -e MYSQL_USER=spagobiuser -e MYSQL_PASSWORD=spagobipassword -e MYSQL_DATABASE=spagobidb -e MYSQL_ROOT_PASSWORD=spagobirootpassword -d mysql:5.5

You can use whatever you want for user and password properties. Then run SpagoBI and link it to the previous MySQL container:

$ docker run --link spagobidb:db --name spagobi -d spagobilabs/spagobi:all-in-one

Run SpagoBI with an external MySQL Database

You can connect SpagoBI with an external MySQL Database instead of running a MySQL container. It's usfficient to pass the MySQL properties (host, port, username, password, db) to SpagoBI:

$ docker run --name spagobi -e DB_ENV_MYSQL_USER=spagobi_user -e DB_ENV_MYSQL_PASSWORD=pass -e DB_ENV_MYSQL_DATABASE=spagobi -e DB_PORT_3306_TCP_ADDR= -e DB_PORT_3306_TCP_PORT=3306 -d spagobilabs/spagobi:all-in-one

You need to use the host address of your database visible by the docker container. In the example it's, created by the host Virtual Machine network.

Use docker-compose

It's also possible to use docker-compose for running SpagoBI with a MySQL container, within a single command. You can fine the compose file definition here. Run this command inside the folder with docker-compose.yml file:

$ docker-compose up


The only one environment property used by SpagoBI is:

  • PUBLIC_ADDRESS : optional - define the IP Host of SpagoBI visible from outside the container (eg. http://$PUBLIC_ADDRESS:8080/SpagoBI), the url's host part of SpagoBI url. If not present (like the above examples) the default value is the IP of container. You can use the IP of virtual machine (in OSX or Windows environment) or localhost if you map the container's port.

Use SpagoBI

Get the IP of container :

$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' spagobi

Open SpagoBI on your browser at url (use your container-ip):


If you run the host with a Virtual Machine (for example in a Mac environment) then you can route the traffic directly to the container from you localhost using route command:

$ sudo route -n add ip-of-host-Virtual-Machine


View license information here for the software contained in this image.