Deploy Integration Service on an On Prem server

Prev Next

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.

Warning

The deployment procedure is currently in beta and subject to change.

Deployment steps

  1. Log into Gitlab docker image repository with the supplied Project Access Token.

    docker login registry.gitlab.com -u <ANY_USERNAME> -p <PROJECT_ACCESS_TOKEN>

  2. Pull the development Integration Service docker image.

    docker pull registry.gitlab.com/prevu3d/product/integration-service:develop

  3. 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.

  4. 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

    1. These environment variables are also available during the run phase :

      1. PORT : Port where the Integration Service will bind, inside the container. Default is 3000.

      2. DEBUG_MODE : Set to “1” to enable debug logs.

      3. CONFIG_FILE : Name and path of the config file. Default is “/config/config.json”. If the config file is hosted on S3, the S3 URI must be provided (starts with s3://).

      4. 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”.

  5. Navigate to http://localhost:3000/health to confirm that the integration service is running.

  6. Configure a DNS entry to point to the integration service and add a SSL certificate to enable HTTPS traffic.

  7. Follow the steps to register the integration server inside the platform in order to get the assetServicePublicKey and copy it inside the config.json file.