- Docker host with CPU/RAM totalling up to the recommended minimum requirement.
e.g. Azure, EC2, VMWare - Docker & docker-compose installed on the host.
- Sudo access for user mtedge.
- Local storage as recommended for the image & language pair models.
- Edge Controller host is deployed as a container in docker and Edge UI & API are published as external ports in the docker overlay network.
- Job Engines, Translation Engines & Training Engines are deployed as containers and could be manually configured to scale up/down based on the predefined number of containers as manifested in the docker-compose.yml file.
- Language Pairs and the Edge configuration is saved in docker volumes.
- All containers use the same docker base image.
- Prerequisites
- Create mtedge user & group with the id 10001.
$ groupadd mtedge -g 10001
$ useradd mtedge -u 10001 -g 10001 -m -s /sbin/nologin
- Grant sudo access to user mtedge.
eg. on a Ubuntu EC2 host, edit /etc/sudoers.d/90-cloud-init-users file and add a new line as below.
$ vi /etc/sudoers.d/90-cloud-init-users
mtedge ALL=(ALL) NOPASSWD:ALL
- Install unzip, docker & docker-compose on the host.
eg. on a Ubuntu EC2 host, run.$ sudo apt update
$ sudo apt install -y docker.io docker-compose unzip
$ sudo usermod -a -G docker mtedge
- Create mtedge user & group with the id 10001.
- Installation
- Login to docker repo and pull LW Edge docker image.
$ docker login docker.edge.languageweaver.com
$ docker pull docker.edge.languageweaver.com/sdl/mtedge:8.6.4
- Copy docker-compose.yml, sdl-ets.lic and .env files provided by RWS to current user's home folder.
- Download & install required language pairs on docker host. (can be removed after a successful docker deployment).
$ sftp user@files.edge.languageweaver.com
$ get Language_Weaver_Edge_XxxXxx_Generic_SRV_TNM_X_X_x_1_installer.zip
$ unzip Language_Weaver_Edge_XxxXxx_Generic_SRV_TNM_X_X_x_1_installer.zip
$ sudo ./Language_Weaver_Edge_XxxXxx_Generic_SRV_TNM_X_X_x_1_installer/setup-linux-x64.run --mode unattended
- Start containers by running docker-compose up. This will also create docker volumes mtedge-controller-pvc & mtedge-lp-pvc
$ docker-compose up -d
- Copy license file sdl-ets.lic to mtedge-controller-pvc.
$
docker cp sdl-ets.lic mtedge-controller:/mnt/controller/conf/sdl-ets.lic
- Copy language pair models to mtedge-lp-pvc.
$ sudo docker cp /opt/sdl/ets/lps/. mtedge-controller:/opt/sdl/ets/lps
- Wait until all language pair models are copied and then restart translation engines from UI or run a docker-compose down & up
- Login to docker repo and pull LW Edge docker image.
- Cleanup
- Delete locally installed language pair models, installation zip files & folders from the host.
$ sudo rm -rf /opt/sdl
$ sudo rm -rf /etc/opt/sdl
$ sudo rm -rf Language_Weaver_Edge_*
- Delete locally installed language pair models, installation zip files & folders from the host.
- Bootstrap Language Weaver Edge admin user.
- Install new Language Pairs.
- Increase/decrease number of Job Engines, Training Engines or add/modify Translation Engines or PUs for a given Language Pair.
- Controller pod.
- Job Engine pods - all pods share the same environment variables.
- Translation Engine pods - each Language Pair has its own environment variables.
- Training Engine pods - all pods share the same environment variables.
$ curl -u u_admin@example.com_myapikey1234: https://myhost.example.com/api/v2/