Installation and Setup V3 (2020 versions)

Aus CTS2-LE
Zur Navigation springen Zur Suche springen

prerequisites

  • sed
  • docker
  • java >= 8

release files

  • Let delivery-V3.zip be the current distribution.
  • unzip it to a directory, called V3 in the following.

To ease the deployment process the pure jetty as well as the docker-related files are contained in the distribution.

(optional) angular navigator frontend (anavi)

For now the angular development is based on classical environment.ts files. In order to avoid node.js, angular installation the server address has to be patched:

  • go to directory V3/docker-build-dir-jetty/CTS2LE_Navigator-Authoring/dist/CTS2LE-Navigator

  • run sed -i 's/___patchit_cts2le_server___/S/g' main.*.js
    where S is the host, e.g. http:\/\/localhost:9090

  • attention !!! be sure that it is done the first time after unzipping, otherwise no substitution happens

pure Jetty (anavi not supported)

  • unzip V3/docker-build-dir-jetty/cts2le/WebCts2LE-embedded-jetty.zip to a directory (denoted by W in the following)

  • go to directory W

  • run ./bin/startup.sh -port <port>

  • shutdown command: ./bin/shutdown.sh <port>

  • admin navigation ui: http://<host>:<port>/WebCts2LE

docker

  • go to directory V3/docker-build-dir-jetty

  • run sudo docker-compose -f docker-compose.yml up -d --build (stretch version)
    (use docker-compose-standalone.yml for standalone version)

  • check container with sudo docker logs -f cts2le
    (last line ... INFO:oejs.Server:main: Started ...)

  • admin navigation ui: http://<host>:<port>/WebCts2LE where <port> (usually 9090) is specified in the compose yml files

  • anavi: http://<host>:<port>/CTS2LE where <port> (usually 8901) is specified in the compose yml files

kubernetes

  • backend

    • go to directory V3/docker-build-dir-jetty/kubernetes
      (all kubernetes yaml files are located at directory yaml)

      • apply modifications for your environment (e.g. targetPorts in service definitions or storage requirements in persistent volume claims)

      • ensure that all docker images (apart from cts2le-navi) for the backend are generated according to above section.

    • execute ./setup-kube-cts2le.sh
      (all resources for the backend are created in kubernetes. To create single resources comment out the others)

    • get the kubernetes service url of the backend, called SU in the following (hint: in minikube execute minikube service cts2le --url )

  • navigator

    • proceed as described above ((optional) angular navigator frontend (anavi)) with host url SU
    • generate docker image for the navigator
      • docker build -f Dockerfile -t cts2le-navi .
        on directory V3/docker-build-dir-jetty/CTS2LE_Navigator-Authoring
    • execute ./setup-kube-cts2le2-navi.sh
    • get the kubernetes service url of the frontend and check it in a browser (hint: in minikube execute minikube service cts2le-navi --url )

load standard terminologies

  • go to directory V3

  • important prerequisite: the cts2le instance

    • must not contain the terminology to load
    • services cannot be accessed during load
  • run java -jar cts2le-3-command-bulk.jar --sourceLoc SL --targetLoc TL
    where SL is a directory of bulk files and TL is the host, e.g. http://localhost:9090/WebCts2LE.
    Files in SL have to end with .nq.gz (to ignore a file, suffix it with e.g. .igno). Be aware that on a notebook (~2 GHz, 16 GB RAM) the load time will be around 20 min (standard terminologies excl. snomed). For possible errors consult sudo docker logs -f cts2le

  • to have an updated Lucene/Solr index run GET http://<host>/WebCts2LE/service/manage/index/update (estimated index time 50 min due to complex quad store queries) and subsequently GET http://<host>/WebCts2LE/service/manage/index/suggester/update