Docker Installation
In order to pull Mastro and Monolith you need to authenticate to our GitHub Container Registry. You can do this by running the following command in your terminal:
docker login ghcr.io -u USERNAME -p <the_access_token>
Then you can pull the images with the following commands:
docker pull ghcr.io/obdasystems/mastro:latest
docker pull ghcr.io/obdasystems/monolith:latest
Mastro Configurations
In order to run Mastro in a Docker container you need to:
- Redirect the port exposed by the container (
8989). - Mount a volume in the container in order to store the Mastro Home (let’s say
/path/to/mastro-home) which relies on the following container path:/var/lib/mastro. - Load the license files in the Mastro Home: copy the
license.infoandlicense.keyfiles into the/path/to/mastro-home/license/folder. - Add the JDBC drivers for the DBMS you want to use in the
/path/to/jdbc/folder and mount a volume in the container in order to store the JDBC drivers which relies on the following container path:/opt/mastro/jdbc.
For example, if you want to run Mastro on port 8989 and you have a mastro-home folder in the /path/to/mastro-home folder and a jdbc folder in the /path/to/jdbc folder, you can run the following command:
docker run -d -p 8989:8989 -v /path/to/mastro-home:/var/lib/mastro -v /path/to/jdbc:/opt/mastro/jdbc ghcr.io/obdasystems/mastro:latest
Monolith Configurations
In order to run Monolith in a Docker container you need to:
- Redirect the port exposed by the container (
80). - (Optional) Eventually modify the
config.jsfile in order to:- specify the deployed URL of the Mastro Web Services
- configure the JWT authentication mechanism (if you want to use it)
- enable/disable statstics of usage
- enable AI features (soon available)
You can do the latter point by creating a new config.js file and add it to a volume mounted in the container. For example, if you want to run Monolith on port 8980 and you have a config.js file in the /path/to/config.js folder, you can run the following command:
docker run -d -p 8980:80 -v /path/to/config.js:/usr/share/nginx/html/config.js ghcr.io/obdasystems/monolith:latest