Install¶
Info
You can also obtain IDVoice Server Docker image through an auto-generated command in the Customer Portal if you're registered there. In such case you don't need to install AWS utilities below.
IDVoice Server Docker image is distributed via Amazon ECR. You need to login to the registry and download the required image using the credentials recevied from ID R&D.
Install Docker¶
Follow the Docker's instruction to install Docker Engine on Ubuntu, CentOS or other supported platform. For Windows you can use Docker Desktop.
Note that by default you need to run docker
with sudo
. You can disable it if you want.
Install AWS management utility¶
To login to Amazon ECR you need to install and configure the AWS management utility.
The AWS Command Line Interface is a stand-alone utility that works on both Linux and Windows. To install it follow the Amazon's instruction. Afterwards configure it with:
aws configure --profile idrnd
It will prompt you for four pieces of information. Fill the Access Key ID and the Secret Access Key with the values from the email. For the region specify eu-central-1
and leave the output format empty:
AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE
AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
Default region name [None]: eu-central-1
Default output format [None]:
The configuration will be saved to the idrnd
profile. You will need to explicitly specify it every time you use AWS CLI.
The AWS Tools for PowerShell manage AWS services and resources in the PowerShell scripting environment, in both Windows and Linux. To install them run:
Install-Module -Name AWS.Tools.Installer
Install-AWSToolsModule AWS.Tools.ECR
On Windows you may need to first change the default execution policy. For that run this command as administrator:
Set-ExecutionPolicy RemoteSigned
Afterwards create the idrnd
profile with access and secret keys from the email:
Set-AWSCredential -StoreAs idrnd -AccessKey AKIAI44QH8DHBEXAMPLE -SecretKey je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
You will need to explicitly specify the profile every time you use AWS Tools.
Download image¶
Use aws ecr
to generate a password for docker login
:
aws ecr get-login-password --profile idrnd |
docker login --username AWS --password-stdin 367672406076.dkr.ecr.eu-central-1.amazonaws.com
Use Get-ECRLoginCommand
cmdlet to login to ECR:
Get-ECRLoginCommand -ProfileName idrnd -Region eu-central-1 | select Command | Invoke-Expression
Once you're logged in you will see a Login Succeeded
message. Now you can pull the IDVoice Server image:
docker pull 367672406076.dkr.ecr.eu-central-1.amazonaws.com/voicesdk-server-eval:#.##.#
Start container¶
To start the IDVoice Server's container use docker run
command:
docker run --name voicesdk -d -p 8080:8080 voicesdk-server-eval:#.##.#
It has the following arguments:
--name voicesdk
names the started container asvoicesdk
.-d
starts the container in the background.-p 8080:8080
exposes the port8080
.voicesdk-server-eval:#.##.#
is the name of the image(replacing#.##.#
for the appropriate version).
Note that the name of the image should always be the last argument.
If you use the GPU version of the Server you need to expose your GPU to the container:
docker run --name voicesdk --gpus all -d -p 8080:8080 voicesdk-server-eval:#.##.#
The Server is ready after it prints Started Application
to logs. You can check them with:
docker logs voicesdk
Once you see the message the Server is ready to use.
Stop container¶
To stop and delete the container run these commands:
docker stop voicesdk
docker rm voicesdk
SYS_PTRACE capability
If you use Linux kernel older than 4.8 or your Docker’s version is older than 19.03 you need to additionally enable ptrace capability when starting the container:
docker run --name voicesdk --cap-add=SYS_PTRACE -d -p 8080:8080 voicesdk-server-eval:#.##.#
Otherwise the Server may fail to start. This requirement was removed in the version 1.31.