This page contains a guide on how to install and use the SAGA Suite (Saga-Server/Enterprise Search UI and Python Bridge) using Docker.
In case you only need one element of the SAGA Suite, then, we've got you covered! Down below this page we have more specific instructions for all 3 different products.
This quickstart-guide with Docker provides an easy way to run, test and develop with SAGA, but in order to do a production deployment or expose these services publicly, you will need to do all the changes required, including changing of configurations, creation of certificates, enabling security measures and whatever is needed to production environments.
In order to run all elements of the SAGA Suite and Elasticsearch, the saga-quickstart.zip contains the files needed. So, the steps to run are the following:
Open a Command prompt (CMD/Powershell in Windows, sh/bash in Linux) and login to the docker artifactory repository
docker login docker.repository.sca.accenture.com
You will be prompted for your credentials (registered email and password).
This step is only required the first time, once you have logged in, Docker will remember the credentials so you do not need to re-run this command.
In linux, you may need first to give execution permissions before running the shell file.
chmod +x saga-quickstart.sh
There are two more options within the shell script, in case you need to execute the script using sudo permissions, this happens when docker is not configured properly and requires to use sudo each time a docker command is run.
If you have anything running in those ports, the quickstart will fail because docker cannot start properly the images due to ports already in use.
The first time you start these scripts, it may take a some time to start everything because they need to download the images and then run them in order.
After the first time, the starting process last no more than a minute.
When you are done with your work, you can remove everything by executing the uninstall scripts (bat in Windows, sh in Linux).
saga-cleanup.bat - Windows
saga-cleanup.sh - Linux
This cleanup script stops the docker containers running, deletes them after stopped and removes the network where they were running.
Now, if you only require the docker image of Saga-Server, then you do not need to download, run and mount the whole quickstart from above.
You can get pull the image from our official repository using:
docker pull docker.repository.sca.accenture.com/docker/saga-server:1.3.3-javacio17-base //OR docker pull docker.repository.sca.accenture.com/docker/saga-server:1.3.3-tensor-javacio17-base
If you want the latest features of SAGA, you can download the SNAPSHOT versions of our next release, however, they may be volatile and be used with caution. The tags for the SNAPSHOT versions are these ones:
1.3.4-SNAPSHOT-javacio17-base
1.3.4-SNAPSHOT-tensor-javacio17-base
And from then you can configure it and use it as you need, however there are some things you need to know before pulling and running this docker image:
If it is your first time pulling the images, you will need to login with docker to our artifactory, otherwise, you will not be able to pull the image.
docker login docker.repository.sca.accenture.com
Then, as said before, you must enter your artifactory credentials.
SAGA_CONFIG : this JSON-like string contains all the config to overwrite the default one that comes with the image. It must be a one liner string due to environmental limitations when using docker.
For example:
This is a fragment of the config for SAGA to run.
And this is in the one-liner style that the SAGA_CONFIG environmental variable accepts:
This SAGA_CONFIG is temporal, we needed a way to configure environmental variables quickly.
In the future, all the configurations will have their own environmental variable.
JAVA_MAX_META_MEMORY : The amount of initial memory Saga will start with. Default is '1024m'.
All these values can be marked as ‘g' for GB, ‘m' for MB and ‘k' for KB.
So, '6g' is six gigabytes and '512m' are in megabytes.
Also when assigning the values exclude the quotes as they are just to demonstrate they are strings.
SAGA_ELASTIC_PASSWORD: The password to use on the providers section when connecting to Elastic/Opensearch.
These last two environmental variables are used together and they'll call the "SAGA-Secure" jar to encrypt the password and automatically change the values on the SAGA config file.
SAGA_DISABLE_SSL_VERIFY: This will disable all SSL certificate verification on SAGA for all requests (HTTP/Direct to provider). (USE IT ONLY FOR DEVELOPMENT/STAGING)
As well as the SAGA image, you can download the Enterprise Search UI docker image and run it where you need it using:
docker pull docker.repository.sca.accenture.com/docker/esui:latest
Some of the basic configuration that can be do it via environmental variables are these:
For the Saga-Python-Bridge, the image can be downloaded using:
docker pull docker.repository.sca.accenture.com/docker/saga-python-bridge:1.3.3-ubuntu22.04cio-base
If you want the latest features of the Python-Bridge, you can download the SNAPSHOT versions of our next release, however, they may be volatile and be used with caution. The tags for the SNAPSHOT versions are these ones:
1.3.4-SNAPSHOT-ubuntu22.04cio-base