Skip to main content

Introduction to Docker

Taqtile uses Docker containers to allow clients flexibility to install on premises or in their own hosting environments. This document explains how to install and configure Manifest Server using Docker.

What is Docker?

Docker is a containerization platform that packages application and all its dependencies together in the form of a docker container to ensure that application works seamlessly in any environment.

What is a Container?

A Docker Container is a standardized unit which can be created on the fly to deploy a particular application or environment. Using docker you can install a local server copy of Manifest. It is a very useful tool especially when you don’t have access to the Internet but need to demonstrate Manifest

Prerequisites

Docker set up and installation does require some expertise about docker and how it works. Below are a few articles that can help get you up to speed: In order to set up Manifest using docker you will need the following information that is sent to the Manifest Account Owner through a Welcome email. This email will include important information to get you started with setting up an On-Prem Instance of Manifest using Docker. The important information will include:
  • A link to our Docker Release Notes section
  • The password to Docker
  • Number of users as part of the agreed contract
  • A unique license key to be populated into the compose file that manages the number of users
  • A Sendgrid API Key
NOTE: Manifest for OnPrem supports only x86 compatible host systems. It will not run on ARM architecture systems.

Video Tutorial + Supporting documentation

Video Tutorials

Please review the below video links to help you with the specific docker action you are trying to accomplish. Available videos include:
  • How to deploy Manifest On Premise Installation for Windows
  • How to Clear and Reinstall your Manifest On-Premise Installation for Windows (COMING SOON)
  • How to Move a Manifest On-Premise Installation of Manifest (COMING SOON)
  • How to Update an Existing Manifest On-Premise Installation of Manifest (COMING SOON)

Supporting Documentation

Manifest docker supports x86 based host systems for Windows, Linux or Mac

How to Set Up Docker

  1. Download Docker (without registration) or from web (with registration on your computer).
  2. Install Docker on your computer.
  3. Click on “Docker for Windows” shortcut and then check that it works in the tray bar:
Docker2 Figure 1 - example of the shortcut in the tray bar that docker is running
  1. Create a folder “manifest” in local disk C on your computer. Download the most recent docker-compose file found in the Release Notes section of the Community site. Rename the file to docker-compose.yml. Once the file is renamed place this file into your “manifest” folder. IMPORTANT: Once downloaded be sure to append the file extension to .yml versus .txt
  2. Create a sub-folder in the newly “manifest” folder that will be referenced in your compose file and will house all the content uploaded into the on-premise Manifest instance.
The below example shows a folder within the ‘manifest’ folder called ‘uploads’ Docker3 Figure 2: example of the ‘uploads’ folder created in the ‘manifest’ folder
  1. Set up environment variables in docker-compose.yml file

How to Populate Variables in Docker-compose.yml File

It is VERY IMPORTANT when populating the docker-compose.yml file with the API and WEB variables that information is entered in correctly and accurately. The smallest mistake in the docker-compose file will result in an error. Please make sure that you reference the Docker Release Notes section in order to get the most recent changes and variable updates that come with each Manifest for Docker Release. Below is a table outlining the variables that need to be populated within the docker-compose.yml file. API VARIABLES
VariableVariable TypeVariable DescriptionExample
VOLUMES</put/path/to/file/storage/here>:/uploadsThis variable represents the path on your machine where Manifest will persistently store your application files even after restarting your compose. Based on this variable Manifest will store your application files persistently./c/manifest/uploads:/uploads
IP_ACCESS<PUT_VM_IP_ADDRESS>Based on this variable manifest will create stun/turn configuration with our stun/turn container from compose.10.0.0.83 (This information can be obtained by typing ipconfig into your machines terminal)
ADMIN_EMAIL<PUT_ADMIN_EMAIL>With this variable Manifest will generate admin account that will be used to log into the Manifest platforms (web, HL2, iPad, etc)username@company.com (Use your company email address)
ADMIN_PASSWORD<PUT_ADMIN_PASSWORD>With this variable Manifest will generate the login password for the Manifest Admin that will be used to log into the Manifest platforms (web, HL2, iPad, etc.)P@ssword123 (Create an unique password that will be used to log into the Manifest platforms)
LICENSE_KEY” “The license key obtained by your Account Manager that is used to control the number of licenses allowed within the docker installExample: DdnkLiSNtn8mJMFNkKQlg0oJSUDkyWX1 (This will be obtained from your Account Manager)
HOST<PUT_VM_IP_ADDRESS>Same as above IP_ACCESS
ROOT ADMIN EMAIL<PUT_ADMIN_EMAIL>Same as above ADMIN_EMAIL
ROOT ADMIN PASSWORD<ROOT_ADMIN_PASSWORD>Same as above ADMIN_PASSWORD
Figure 3: Example of the populated API Variables in the docker-compose.yml file WEB VARIABLES:
VariableVariable TypeVariable DescriptionExample
VOLUMES</put/path/to/file/storage/here>:/usr/share/nginx/html/uploadsThis variable represents the path on your machine where Manifest will persistently store your application files even after restarting your compose. Based on this variable Manifest will store your application files persistently./c/manifest/uploads:/usr/share/nginx/html/uploads
SELF-ASSIGNED CERTIFICATES<put_here_path_to_folder_where_certs_will_store>:/usr/share/nginx/certsIf clients want to use their own certs they can replace certs in this folder and restart the web container and new certs will automatically be applied. IMPT! Certs must be named “nginx-cert.crt” and “nginx-cert.key” in order to work. Without these file names, Manifest will create self assigned certs and will use those instead.c/manifest/uploads:/usr/share/nginx/certs
IP_ACCESS<PUT_VM_IP_ADDRESS>Based on this variable manifest will create self-signed ssl certificate.10.0.0.83 (This information can be obtained by typing ipconfig into your machines terminal)
Figure 4: Example of the populated Web variables in the docker-compose.yml file CONVERTER VARIABLES:
VariableVariable TypeVariable DescriptionExample
VOLUMES</put/path/to/file/storage/here>:/manifest-cs/folderBased on this variable, Manifest will store your 3D models persistently/c/manifest/uploads:/manifest-cs/folder
Figure 5: Example of the populated converter variables in the docker-compose.yml file

Deploying a New Docker Instance

Once the docker-compose.yml file is populated with all variables and checked for accuracy, please follow the below instructions to deploy a NEW docker instance.
  • Save the file with name docker-compose.yml and type “All Files.” Change Encoding to UTF-8
Docker5 Figure 6: Example of saving the file and changing encoding to UTF-8
  • Once the docker-compose.yml is saved you should see a file with YML format:
Docker6 Figure 7: Example of the file saved as .yml
  • Run cmd as Administrator
    • Right click mouse button on the start menu and choose “Task Manager”
Docker7 Figure 8: Example of opening Task Manager
  • Click on File—> Run new task, write “CMD” and check the box to run as Administrator and press [OK]:
Docker8 Figure 9: Example of running a task in task Manager as Administrator
  1. Copy the below command in CMD
docker login taqtile.azurecr.io -u 131d655d-5dc7-436f-b569-d793c840a088
and then you will be prompted for the password. Please obtain the password from your Account Manager.
  • Change current directory to c:/manifest by typing the below command: cd c:/manifest
Docker10 Figure 10: Example of changing the directory
  • Copy the following command in CMD and the process will start. It may take some time, so please be patient. As a result you will see “…done”
docker-compose up -d Figure 11: Example of the output after running command docker-compose up -d
  • Check your docker results with the command outlined below in CMD. This will show the all the docker containers.
docker image ls Docker12 Figure 12: Example of the output of the docker image ls command
  • Open your Chrome Browser and type localhost OR your local IP address in your browser. You will be directed to the Manifest login page. Enter in the following credentials to log into the Manifest Client Application.
    • Email: <Email from docker-compose file> [API Variable: ADMIN_EMAIL]
    • Password: <Password from docker-compose file> [API Variable: [ADMIN_PASSWORD]
Dockerloginpage Figure 13: Example of the Manifest Web Application login page
  • To access docker on the HL2 device, in the Command Prompt, type ipconfig to obtain your IPv4 address. This is also the variable entered into your compose file: IP_ACCESS as your Web and API Variable.
On the devices Login page, enter in the IPv4 address into the domain field and then enter in your Email [ADMIN_EMAIL] and Password [ADMIN_PASSWORD] credentials. It’s important to note that you may have to disable your firewall to get docker up and running on your HL2 device. Figure 14: Example of the ipconfig command to find IPv4 Address
  • Congratulations! You’ve created a new client and can start working with it.

Updating an Existing Manifest On-Prem Instance

The instructions below show how to update the docker container when an existing docker is already installed. Updating your docker instance will not clear the existing content already added to the docker. It will simply update it to the latest version.
  • Make sure your docker is installed and working
  • Update your c:/manifest folder with the updated docker-compose.yml file. Make sure all the variables have been updated in the docker-compose.yml file
    • Reference the Docker Release notes section of the Community site to obtain the new images and changes to the docker-compose.yml file
    • Ensure that you update your docker-compose.yml file with all the changes outlined in the Release notes. In some cases it will not only be the images that are new but also some additional changes to the compose file.
  • Run CMD as Administrator
    • Click on File —> Run new task, write “CMD” and check the box to run as Administrator and press [OK]
We have updated the login credentials for the docker registry. Please make sure to follow the instructions in the All About Docker article to make sure you are using the newest login and password.
  1. Open up a command prompt
  2. In the Command line, enter: docker login taqtile.azurecr.io -u 131d655d-5dc7-436f-b569-d793c840a088
  3. You will be prompted for a “Read Only” Password that you will need to obtain from your Account Manager
  • Change the current directory to c:/manifest by typing in the below command:
    cd c:/manifest
  • Run the following commands in the order outlined below:
docker-compose down docker-compose pull docker-compose up -d
  • Check your docker results with the command docker image ls in CMD. This will show all the docker containers.
  • Open your Chrome Browser and type localhost OR your local IP address in your browser. You will be directed to the Manifest login page. Enter in the following credentials to log into the Manifest Client Application.
    • Email: <Email from docker-compose file> [API Variable: ADMIN_EMAIL]
    • Password: <Password from docker-compose file> [API Variable: [ADMIN_PASSWORD]
  • To access docker on the HL2 device, in the Command Prompt, type ipconfig to obtain your IPv4 address. This is also the variable entered into your compose file: [IP_ACCESS] as your Web and API Variable. On devices Login page enter in the IPv4 address into the domain field and enter in your Email [ADMIN_EMAIL] and Password [ADMIN_PASSWORD] credentials. It’s important to note that you may have to disable your firewall to get docker up and running on the HL2 device.
  • Congratulations! You’ve updated your docker to the latest version. When logging in you should still see all the content that was previously created from past versions.

Clearing and Reinstalling your Manifest On-Prem Instance

The instructions below outline how to CLEAR all images from past docker versions and install a new docker version