Table of Contents |
---|
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.
Table of Contents |
---|
Note |
---|
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
Code Block |
---|
docker login docker.repository.sca.accenture.com |
You will be prompted for your credentials (registered email and password).
Info |
---|
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.
Code Block |
---|
chmod +x saga-quickstart.sh |
Info |
---|
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. |
Warning |
---|
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. |
Info |
---|
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. |
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:
Code Block |
---|
docker pull docker.repository.sca.accenture.com/docker/saga-server:1.3.3-SNAPSHOT-javacio17-base //OR docker pull docker.repository.sca.accenture.com/docker/saga-server:1.3.3-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.
Code Block |
---|
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.
Code Block | ||
---|---|---|
| ||
{ "config": { "apiPort": 8080, "secureApiPort": 443, "host": "0.0.0.0", "allow-domains": "localhost", "serverTimeout": 30000, "maxRequestPayloadSize": 1000000, "cors": { "allow_origins": [ "http://localhost:8080", "https://localhost", "https://login.microsoftonline.com" ], "allow_credentials": "true", "allow_methods": ["*"], "allow_headers": ["*"], "expose_headers": ["*"] }, "security": { "enable": false, "encryptionKeyFile" : "./bin/saga.ek", "inactiveInterval": 600, "defaultRole": "admin", "users": [{ "username": "admin", "password": "notpassword", "roles": "admin" }], "type": "none", "openid": { "serverURL": "http://localhost:8080", "clientId": "clientId", "discoveryURI": "discoveryURI" } }, "ssl": { "enable": false, "keyStore": "./bin/saga.jks", "keyStorePassword": "encrypted:KCe8RrPQ8MV3po8NqHo0G7q7sa6T6yzf1JrTQ5VD0uty0elmrqRuybaAmrEHJ37d" }, "libraryJars": [ "./lib" ], "exportSettings" : { "maxSize" : 40, "batchSize" : 5000 }, "restHandlers": [], "models": [], "uiHandlers": [], "providers": [ { "name": "filesystem-provider", "type": "FileSystem", "baseDir": "./config" }, { "name": "saga-provider", "type": "Elastic", "nodeUrls": ["http://localhost:9200"], "timestamp": "updatedAt", "indexName": "saga", "encryptionKeyFile" : "./bin/saga.ek", "authentication": "none", "caFilePath": "", "timeout": 90, "delay": 5, "retries": 3, "exclude": [ ] } ], "gpt3": { "key": "", "openAIHost": "https://api.openai.com", "openAIAPIVersion": "v1" } } } |
And this is in the one-liner style that the SAGA_CONFIG environmental variable accepts:
Code Block | ||
---|---|---|
| ||
{"config":{"apiPort":8080,"secureApiPort":443,"host":"0.0.0.0","allow-domains":"localhost","serverTimeout":30000,"maxRequestPayloadSize":1000000,"cors":{"allow_origins":["http://localhost:8080","https://localhost","https://login.microsoftonline.com"],"allow_credentials":"true","allow_methods":["*"],"allow_headers":["*"],"expose_headers":["*"]},"security":{"enable":false,"encryptionKeyFile":"./bin/saga.ek","inactiveInterval":600,"defaultRole":"admin","users":[{"username":"admin","password":"notpassword","roles":"admin"}],"type":"none","openid":{"serverURL":"http://localhost:8080","clientId":"clientId","discoveryURI":"discoveryURI"}},"ssl":{"enable":false,"keyStore":"./bin/saga.jks","keyStorePassword":"encrypted:KCe8RrPQ8MV3po8NqHo0G7q7sa6T6yzf1JrTQ5VD0uty0elmrqRuybaAmrEHJ37d"},"libraryJars":["./lib"],"exportSettings":{"maxSize":40,"batchSize":5000},"restHandlers":[],"models":[],"uiHandlers":[],"providers":[{"name":"filesystem-provider","type":"FileSystem","baseDir":"./config"},{"name":"saga-provider","type":"Elastic","nodeUrls":["http://localhost:9200"],"timestamp":"updatedAt","indexName":"saga","encryptionKeyFile":"./bin/saga.ek","authentication":"none","caFilePath":"","timeout":90,"delay":5,"retries":3,"exclude":[]}],"gpt3":{"key":"","openAIHost":"https://api.openai.com","openAIAPIVersion":"v1"}}} |
Note |
---|
This SAGA_CONFIG is temporal, we needed a way to configure environmental variables quickly. |
JAVA_MAX_META_MEMORY : The amount of initial memory Saga will start with. Default is '1024m'.
Info |
---|
All these values can be marked as ‘g' for GB, ‘m' for MB and ‘k' for KB. |
As well as the SAGA image, you can download the Enterprise Search UI docker image and run it where you need it using:
Code Block |
---|
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:
Code Block |
---|
docker pull docker.repository.sca.accenture.com/docker/saga-python-bridge:1.3.3-SNAPSHOT-ubuntu22.04cio-base |
Content by Label | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Page properties | ||
---|---|---|
| ||
|