Background

Vista bridge is an API server for Viewpoint’s Vista on-premise application. It serves to give Aclaimant integrations access to our customers Vista instance by adding an API layer. It interacts directly with Vista’s underlying MSSQL database.

Note: Docker is required in order to run the vista bridge, Docker can be run on a Linux server or Windows server.

Setting up Docker on Windows

Directions

Note: A minimum Windows Server version of 1709 is required.

Note: The following instructions were tested on Windows Server 2019.

Note: Running Linux Containers on Windows (LCOW) is still considered experimental

Note: Docker requires Hyper-V to run on Windows. On a physical machine, this may require enabling virtualization in the BIOS. If running on a cloud provider like AWS/Azure, this will require specific instance types. On AWS, it requires a bare metal instance like i3.metal. On Azure look for HyperThreaded instances like D_v3, Ds_v3, E_v3, Es_v3, F2s_v2 - F72s_v2, M (subject to change, https://docs.microsoft.com/en-us/azure/virtual-machines/acu has more info)

Installation

  1. Log into your Windows instance with administrator credentials.

  2. Launch Powershell.

  3. Install Docker EE using DockerMsftProvider.

    Install-Module "DockerMsftProvider" -Force Update-Module "DockerMsftProvider" Install-Package Docker -ProviderName "DockerMsftProvider" -Update -Force
  4. Select Yes if prompted to install the NuGet Provider.

  5. If needed, restart.

    Restart-computer
  6. Launch Powershell

  7. Enable Windows Containers Feature.

    Install-WindowsFeature Containers
  8. If needed, restart.

    Restart-computer
  9. Launch Powershell

  10. Enable Experimental Features

    Set-Content -Value "`{`"experimental`":true`}" -Path C:\\ProgramData\\docker\\config\\daemon.json
  11. Restart Docker

    Restart-Service docker
  12. Check Docker Info and verify Experimental is set to true

    docker info
  13. LCOW Setup:

  14. Create Folder C:\Program Files\Linux Containers

    cd 'C:\\Program Files\\' mkdir "Linux Containers"
  15. Download the latest release from https://github.com/linuxkit/lcow/releases

    cd '.\\Linux Containers\\' curl -OutFile release.zip <https://github.com/linuxkit/lcow/releases/download/v4.14.35-v0.3.9/release.zip>
  16. Expand Archive

    Expand-Archive -DestinationPath . .\\release.zip
  17. Delete release.zip

    rm release.zip
  18. Make sure Hyper-V is installed

    Install-WindowsFeature Hyper-V –IncludeManagementTools –Restart
  19. You may need to restart after Hyper-V installs. If so, log back in and launch Powershell.

  20. Test docker on Linux

    docker run --rm -it --platform=linux busybox echo "LCOW on a Windows Server!"---
  21. You should see LCOW on a Windows Server! If the above command is successful, you’re ready to install the Vista Bridge. If not, some docker troubleshooting will be required.

Configuration

Environment Variables

Variable name

Required?

Default

Description

ACL_VB_API_TOKEN

true

N/A

The secret API Token that will be used by the Aclaimant system for authentication when making API calls

ACL_VB_INSTANCE

true

Instance name, used for tagging of logs in LogDNA

ACL_VB_DB_USER

true

The database username used to access the Vista MSSQL instance

ACL_VB_DB_PASSWORD

true

Vista database password for given user

ACL_VB_DB_HOST

true

Vista database host

ACL_VB_DB_PORT

1433

Vista database port

ACL_VB_DB_NAME

true

Vista database dbname

Loading and running the Docker image

Loading the tar

  1. docker load -i aclaimant-vista-bridge-<version>.tar

Initial run of the Docker image

Notes:

  1. To set the necessary environment variables you can put them in a file or instead use -e ACL_VB_<env>=<value> -e ACL_VB_<env>=<value

  2. Argument -v sets where on disk the search index is stored, useful for restarting and maintaining the index.

docker run -itd -p 80:80 -p 443:443 -v <folder-for-data-on-windows-server>:/usr/vista-bridge/data --name=aclaimant-bridge-<version> --env-file=<envfile> --restart unless-stopped aclaimant/vista-bridge:<version>

An example env-file minimally should look like:

ACL_VB_INSTANCE=<aclaimant’s-customer-company-name>
ACL_VB_API_TOKEN=<generated-secret-token>
ACL_VB_DB_USER=<VistaDB-User>
ACL_VB_DB_PASSWORD=<VistaDB-Password>
ACL_VB_DB_NAME=<VistaDB-Database-name>
ACL_VB_DB_HOST=<VistaDB-Host>
ACL_VB_DB_PORT=<VistaDB-Port>

Notes

  • -d Runs this as a daemon

  • --restart=unless-stopped Will cause the container to start whenever docker restarts on the machines, unless the container had been stopped with docker stop aclaimant-bridge-<version>

  • --name is optional and can be anything; it's becomes useful for working with the instance

  • sudo may be required before all docker commands; especially if running on linux

  • -p 443:443 Binds the docker image's port 443 to your local port 443

  • -p 80:80 Binds the docker image's port 80 to your local port 80

Updating Vista-Bridge Version

  1. Load the tar

  2. Stop the previous version. Note this uses the name from the currently running instance; you can see this with docker ps

    docker stop aclaimant-bridge-<old-version>
  3. Start the new version

    1. This will be the same argument you use in Initial run of the Docker image, just with the latest version for <version>

Working with the docker container

Note: The aclaimant-bridge is the --name from the initial run command above. Feel free to change it in all places.

  1. Viewing logs

    docker logs -t aclaimant-bridge
  2. Stopping instance

    docker stop aclaimant-bridge
  3. Re-starting the instance

    docker start aclaimant-bridge

Post setup

  1. Aclaimant and customer will both need the API token in order for the servers to communicate.

  2. Aclaimant will need the IP of the customer's server.

    1. Aclaimant will create a DNS record on our side in order to communicate with this server.

Did this answer your question?