Skip to content
Lorenzo Verri edited this page Dec 28, 2021 · 5 revisions

Upgrade notes

  1. Run the evo files against the DB
  2. Restart the service

Setup guide

The guide assumes you are running on a unix environment.

Software prerequisites

The following software is required to get the application up and running:

  • Git
  • Docker (v17+)
  • Curl, unzip utilities

Get the S&C code

  • Clone the two repositories
git clone https://github.com/loreV/SeC
git clone https://github.com/loreV/SeC-Frontend

Service dependencies

In order to execute S&C, you will need the following services running on your system:

  • MongoDB (v4+)
  • OpenElevation

Preparing your dependencies using docker environment

The maintained approach is to use the provided docker-compose file, included in the SeC repository. Alternatively, you can run all containers by yourself.

Method 1: Docker-compose

cd SeC/docker
sh rset_download.sh
docker-compose up

All dependencies shall be now up and running.

Method 2: Docker commands

Run the following commands to get the images up and running:

Mongo

docker run -d --name local_mongo -p 27017:27017 mongo

OpenElevation

  • First, download the SRTM250m dataset in a new data folder:
mkdir data && cd data && curl http://www.sentieriecartografia.it/wp-content/uploads/2021/02/srtm_39_04.zip --output srtm_39_04.zip 

(Alternatively, if Curl is not available, download SRTM_39_04.zip manually in ./data folder) Then unzip the package:

unzip srtm_39_04.zip
  • Finally, run the docker container while including the dataset:
docker run -t -i -v $(pwd)/data:/code/data -p 8080:8080  openelevation/open-elevation

All dependencies shall be now up and running.

Run

Now that the dependencies are up and running, you are ready to compile and launch the S&C components.

The service

  • As for SeC service, modify the application.properties to fit your system requirements, then follow the README.md file.

The Frontend

  • In order for the frontend to run, the service must be first up and running
  • To execute the frontend, follow the README.md file in the SeC-Frontend folder

Application Properties

The properties are contained within the file application.properties.

The following application specific properties are available for customization:

Property name Description Allowed values E.g
service.altitude.port Open altitude port integer 8080
service.altitude.host Open altitude host string http://myhost
db.name database name string sec
db.uri database uri string mongodb://localhost:27017
instance.id instance unique identifier string cai_bologna_i_1
instance.realm realm identifier string cai_bologna
instance.hostname self identifying ip address string 123.456.789.012
instance.report.validation.address address at which the user client can validate a sent report string http://127.0.0.1/validate/
storage.path local system path to create the filesystem structure to store files string /opt/my-path
temp.storage.path local system path to create the temporary files string /tmp/
security.enabled whether the security rules should be enabled. A keycloak instance is required to work with enabled security boolean false
security.disabled.user-roles user mapping to run application test with disabled security. The format must be [user]/realm=[realm] string mario/realm=S&C
jobImage.batchsize number of images to be compressed for each job run
integer 10
keycloak.realm realm name string SeC-Test
keycloak.auth-server-url server url string http://localhost:8080/auth/
keycloak.ssl-required - string 10
keycloak.resource resource id on keycloak instance string "backend"
keycloak.public-client - boolean true
keycloak.confidential-port - string 10
keycloak.truststore Keystore path string /absolute/path.xsy
keycloak.truststore-password Password to access the keystore string 10