Prerequisites
Server running an OS that is compatible with Docker
The deployment was tester on Windows machines
DNS record and appropriate SSL certificate for the Integration Service web service
Project Access Token to pull the docker image from Prevu3d’s private Gitlab repository with the following permissions :
Read Registry
Developer Role
Docker CLI installed
Docker-Desktop - Optional
Note
The Project Access Token is provided by Prevu3D on demand only. Please contact our team to request access.
Deployment steps
Log into Gitlab docker image repository with the supplied Project Access Token.
docker login registry.gitlab.com -u <ANY_USERNAME> -p <PROJECT_ACCESS_TOKEN>
Pull the development Integration Service docker image.
docker pull registry.gitlab.com/prevu3d/product/integration-service:develop
On the host, create an “Assets” folder and a “Config” folder. These folders will be used as mount within the docker container. Assets will contain files that might be required by the integrations, such as JSON Schemas for the HTTP Integration. Config will contain the configuration file and ensure that it persists.
Start the container with the docker CLI. Make sure to mount the asset and config folders and to bind the integration service’s port. The default value is 3000.
docker run registry.gitlab.com/prevu3d/product/integration-service:develop -v path\to\assets\folder\on\host:/usr/app/assets -v path\to\config\folder\on\host:/usr/app/config -p 3000:3000
These environment variables are also available during the run phase :
PORT : Port where the Integration Service will bind, inside the container. Default is 3000.
DEBUG_MODE : Set to “true” to enable debug logs.
ASSET_SERVICE_PUBLIC_KEY : Encryption key provided by Asset Service for this integration service deployment.
CONFIG_FILE : Name and path of the config file. Default is “/config/config.json”.
CONFIG_FILE_TYPE : Type of the config file. Set to S3 to use a file hosted in AWS S3 or local for a file hosted within the container. Default is “local”
Navigate to http://localhost:3000/config to confirm that the integration service is running.
Configure a DNS entry to point to the integration service and add a SSL certificate to enable HTTPS traffic.