Docker Installations

Topic Contents [Hide]Topic Contents [Show]
  1. Docker Prerequisites
  2. CM4D Configuration Plugin and API
    1. CM4D Config Plugin/API Docker Image
    2. CM4D Config Plugin/API Docker Configuration
  3. CM4D Peruse
    1. Peruse Docker Images
    2. Peruse Docker Configuration
  4. CM4D Results Services
    1. Results Services Docker Images
    2. StreamCacheSmith Docker Image
    3. Results Services Docker Configuration
  5. ATS CM4D Upload Portal
    1. Upload Portal Docker Images
    2. Upload Portal Docker Configuration

The following ATS CM4D modules support Windows or Linux Docker deployments:

The available docker images can be found on the ATS Product repository on Docker Hub.

See the topic Configuring the Results Services for more information on:

AppSettings for Results Services

Database Connections

Provider Options for Dockers

Docker Prerequisites

The Docker tool is the minimal requirement to deploy and manage the Docker container.

Please visit the following URLs for a detailed explanation:

CM4D Configuration Plugin and API

ATS CM4D Configuration API is the application component of the ATS CM4D Configuration package. The package also includes the ATS CM4D Configuration plugin component which is installed via ATS Configuration Manager. The CM4D API deployment options also support Docker on Windows and Linux environments.

The image tag defines the image version, or you can always use the [latest] tag.

For example:

atsproducts/ats.cm4d.resultssender-linux-x64:25.2.23068.2

atsproducts/ats.cm4d.resultssender-linux-x64:latest

CM4D Config Plugin/API Docker Image

CM4D API docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.

CM4D API Pull Commands

CM4D Config Plugin/API Docker Configuration

The following properties are used to run the CM4D API image:

ID Item Description Example Value
1 Kestrel__EndPoints__Http__Url Default configuration for running on application port inside the container.

http://*:5200

2 ASPNETCORE_URLS Default configuration which URL's to be use for the ASPNET Core application in the environment.

http://+:5200

3 ConnectionStrings__DefaultConnection Connection string to ATS CM4D Configuration database

4 DataSmithTranslatorService__Endpoint Connection to DataSmith.NET Translator

5 Serilog__Using__0 Log configuration: Provider Sinks. Options can be found on https://github.com/serilog/serilog/wiki/Provided-Sinks

Serilog.Sinks.Console

6 Serilog__MinimumLevel Log configuration: Log Level configuration

Debug

7 Serilog__WriteTo__0__Name Log configuration: Definition for output of logs

Console

8 Serilog__Enrich__0 Log configuration: Enrich levels for logging

FromLogContext

9 Serilog__Enrich__1 Log configuration: Enrich levels for logging

WithMachineName

10 Serilog__Enrich__2 Log configuration: Enrich levels for logging

WithThreadId

11 Serilog__Properties__Application Log configuration: Definition for application name

CM4D.API

12 Serilog__Properties__MachineName Log configuration: Definition for application machine name

MachineATS

13 Authorization__Authority Link to authority server| in this case is link to ATS Security Manager

14 Authorization__ApiName API Name is used for the API to identify to Security Manager. The Id is part of the Application Configuration for CM4D Application. This ID must be the same as the ID from #23.

dc9a0f58-7b68-4e34-811b-fd4c9a71af69

15 Authorization__RequireHttpsMetadata Gets or sets if HTTPS is required for the metadata address or authority. The default is true. This should be disabled only in development environments.

FALSE

16 Authorization__ApplicationId ID of the CM4D Application. The Id can be found in ATS Security Manager under Applications

17 DataProtectionConfiguration__KeyStorage__Type Data Protection Configuration. Docker containers are transient which means that when a container is destroyed| all information with it are deleted and this includes information for the hardware configuration. Some data in ATS CM4D are signed with data protection that is build based on the hardware configuration and when the container is deleted the data verification will fail. Therefore you can configure custom data protection that is not depended from the container configuration but in this case dependent from a certificate that is injected in the container.

FileSystem

18 DataProtectionConfiguration__KeyStorage__FileSystem__Path Data Protection Configuration: location for keeping the configuration. It is recommended to use a mount volume.

/app/keyrings/cm4dapi

19 DataProtectionConfiguration__KeyProtection__Type Data Protection Configuration: Type of Protection

CertificatePEM

20 DataProtectionConfiguration__KeyProtection__CertificatePEM__CertificatePath Data Protection Configuration: certificate file

/app/keyrings/certs/ados-playground.pem

21 DataProtectionConfiguration__KeyProtection__CertificatePEM__KeyPath Data Protection Configuration: certificate key

/app/keyrings/certs/ados-playground.key

22 Cm4DUploadPortal__Url Location to Upload Portal

23 UploadInfo__ApiResources__0__Id Upload Application Configuration information: API resource ID

DC9A0F58-7B68-4E34-811B-FD4C9A71AF69

24 UploadInfo__ApiResources__0__Name Upload Application Configuration information: API Resource Name

CM4DAPI Api Resource

25 UploadInfo__ApiResources__0__Scope Upload Application Configuration information: API Resource Scope

CM4DAPI

26 UploadInfo__ApiResources__1__Id Upload Application Configuration information: API resource ID

297EAD3A-7AE4-41C0-9291-86FB505953E6

27 UploadInfo__ApiResources__1__Name Upload Application Configuration information: API Resource Name

CM4DAPI DataSmith Proxy

28 UploadInfo__ApiResources__1__Scope Upload Application Configuration information: API  Resource Scope

CM4DAPI

29 UploadInfo__ApiResources__2__Id Upload Application Configuration information: API resource ID

22f0e3a0-9004-4945-88e6-86caaa9db317

30 UploadInfo__ApiResources__2__Name Upload Application Configuration information:  API Resource Name

ATS Licensing Manager Web API

31 UploadInfo__ApiResources__2__Scope Upload Application Configuration information: API  Resource Scope

ATS.LicensingServer

32 UploadInfo__ApiResources__3__Id Upload Application Configuration information: API resource id

09b6d6a4-e3b6-488c-8773-07b3f040b017

33 UploadInfo__ApiResources__3__Name Upload Application Configuration information: API Resource Name

PeruseAPI

34 UploadInfo__ApiResources__3__Scope Upload Application Configuration information: API Resource Scope

PeruseAPI

35 UploadInfo__Clients__0__ClientName Upload Application Configuration information: Client Name

CM4D Upload Portal

36 UploadInfo__Clients__0__ClientId Upload Application Configuration information: Client ID

33871b43-c68e-47a2-bde2-3e7d03458c54

37 UploadInfo__Clients__0__RedirectUris__0 Upload Application Configuration information: Client Redirect URL

https://upload-portal.local/auth-callback.html

38 UploadInfo__Clients__0__RedirectUris__1 Upload Application Configuration information: Client Redirect URL

https://upload-portal.local/silent-refresh

39 UploadInfo__Clients__0__PostLogoutRedirectUris__0 Upload Application Configuration information: Post Logout URL

https://upload-portal.local/

40 UploadInfo__Clients__1__ClientName Upload Application Configuration information: Client Name

ATSCM4D Peruse

41 UploadInfo__Clients__1__ClientId Upload Application Configuration information: Client ID

feffadae-fc78-44f9-81c1-927e1d7faa62

42 UploadInfo__Clients__1__RedirectUris__0 Upload Application Configuration information: Client Redirect URL

https://peruse-local/auth-callback

43 UploadInfo__Clients__1__RedirectUris__1 Upload Application Configuration information: Client Redirect URL

https://peruse-local/silent-refresh

44 UploadInfo__Clients__1__PostLogoutRedirectUris__0 Upload Application Configuration information: Post Logout URL

https://peruse-local/

45 UploadInfo__Clients__1__ForceSecureConnStringInProd Definition if the connection string should be encrypted 

FALSE

46 AllowedHost Allowed host to access the API

*

47 Licensing__Authority Link to Licensing Server

https://licensing-local/

48 Configuration__BasePath Configuration of Base Path

/cm4dapi

CM4D Peruse

ATS CM4D Peruse is the application component as part of ATS CM4D Peruse package. The package includes the ATS CM4D Peruse UI and ATS CM4D Peruse API component. For both services, deployment options are supported for Docker on Windows and Linux environments.

Peruse Docker Images

Peruse UI and Peruse API docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.

Peruse Pull Commands

Peruse Docker Configuration

CM4D Peruse runs on two images: ATS CM4D Peruse UI and ATS CM4D Peruse API.

Peruse UI Image Properties

The following properties are used to run the CM4D Peruse UI image:

ID Item Description Example Value
1 Kestrel__EndPoints__Http__Url Default configuration for running on application port inside the container

http://*:4000

2 ASPNETCORE_URLS Default configuration which URL's to be use for the ASPNET Core application in the environment

http://+:4000

3 Configuration__webApi Configuration to Peruse API link

4 Configuration__ATSSecurityManager Link to authority server| in this case is link to ATS Security Manager

5 Configuration__data__HoopsEndpoint Configuration of the HOOPS Endpoint link

wss://hoops.local:11180

6 Configuration__clientId The Id of the Peruse Client. The Id can be found on the ATS Configuration| under Application and under the CM4D application details for OAUTH Clients.

feffadae-fc78-44f9-81c1-927e1d7faa62

7 Configuration__scope The list of scopes (access level) to request when asking a user to authenticate. We strongly recommend to use the same settings described in the Example Value column.

openid profile 09b6d6a4-e3b6-488c-8773-07b3f040b017\\PeruseAPI SecurityManager.SecuritySettingsScope 22f0e3a0-9004-4945-88e6-86caaa9db317\\ATS.LicensingServer offline_access

8 Configuration__BasePath Configuration of Base Path

/peruse

9 Configuration__data__heartbeatrate Number of milliseconds to refresh the license for Peruse. If not specified  the default value is 10000

10000

Example configuration file for Peruse UI: peruseui.env.txt

Peruse API Properties

The following properties are used to run the CM4D Peruse API image:

id Item Descripton Example Value
1 Kestrel__EndPoints__Http__Url=http://*:2000 Default configuration for running on application port inside the container

http://*:2000

2 ASPNETCORE_URLS=http://+:2000 Default configuration which URL's to be use for the ASPNET Core application in the environment

http://+:2000

3 AllowedHosts Allowed host to access the API

*

4 ConnectionStrings__SiteDatabase Connection string to ATS CM4D Site database

5 Authorization__Authority Link to authority server| in this case is link to ATS Security Manager

6 Authorization__ApiName API Name is used for the API to identify to Security Manager. The ID is part of the Application Configuration for CM4D Application.

09b6d6a4-e3b6-488c-8773-07b3f040b017

7 Authorization__RequireHttpsMetadata Gets or sets if HTTPS is required for the metadata address or authority. The default is true. This should be disabled only in development environments.

FALSE

8 Authorization__ApplicationId ID of the CM4D Application. The Id can be found in ATS Security Manager under Applications.

 

9 Cm4dApi__Endpoint Configuration of CM4D API endpoint link

https://cm4d-local:5200

10 UploadInfo__Peruse__ClientName Upload Application Configuration information: Client Name

ATSCM4D Peruse

11 UploadInfo__Peruse__ClientId Upload Application Configuration information: Client ID

feffadae-fc78-44f9-81c1-927e1d7faa62

12 UploadInfo__Peruse__RedirectUris__0 Upload Application Configuration information: Client Redirect URL

https://peruse.local:4000/auth-callback

13 UploadInfo__Peruse__RedirectUris__1 Upload Application Configuration information: Client Redirect URL

https://peruse.local:4000/silent-refresh

14 UploadInfo__Peruse__PostLogoutRedirectUris Upload Application Configuration information: Post Logout URL

https://peruse.local:4000

15 UploadInfo__Peruse__ForceSecureConnStringInProd Definition if the connection string should be encrypted 

FALSE

16 Configuration__BasePath Configuration of Base Path

/peruseapi

17 Licensing__Authority Link to Licensing Server

https://licensing-local/

Example configuration file for Peruse API: peruseapi.env.txt

CM4D Results Services

ATS CM4D Results Services are the service component of the ATS CM4D Server package. CM4D Results services runs on three images: CM4D Results Loader, CM4D Results Sender and CM4D StreamCacheSmith. The CM4D Results services deployment options also support Docker on Windows and Linux environments.

Results Services Docker Images

CM4D Results Services docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.

Results Services Pull Commands

StreamCacheSmith Docker Image

The StreamCacheSmith Service writes to the file system, so it must be mounted (cannot write to a container). Mount the image, then configure the directory and temporary directory.

Results Services Docker Configuration

The following properties are used to run the ATS CM4D Results Loader image:

Example configuration file: resultsLoader.env.txt

The following properties are used to run the ATS CM4D Results Sender image:

Example configuration file: resultsSender.env.txt

ATS CM4D Upload Portal

ATS CM4D Upload Portal is the application component of the ATS CM4D Upload Portal package. The package also requires the ATS CM4D Configuration plugin component which is installed via ATS Configuration Manager and the CM4D API component included in the ATS CM4D Configuration package. The CM4D Upload Portal deployment options also support Docker on Windows and Linux environments.

The Upload Portal component runs on three images: CM4D Upload Portal, DataSmith Translator and DataSmith Batch Proxy.

Upload Portal Docker Images

CM4D Upload Portal docker images can also be used to configure using Docker compose and Kubernetes. ATS Docker images can be found on the ATS Product repository on Docker Hub.

Upload Portal Pull Commands

Upload Portal Docker Configuration

The following properties are used to run the ATS CM4D Upload Portal image:

ID Item Description Example Value
1 Logging__LogLevel__Default Log level default

Debug

2 Logging__LogLevel__System Log level system

Information

3 Logging__LogLevel__Microsoft Log level microsoft

Information

4 Kestrel__EndPoints__Http__Url Default configuration for running on application port inside the container

http://*:4600

5 Configuration__webApi Configuration to CM4D API link

http://*:5200

6 Configuration__ATSSecurityManager Link to authority server| in this case is link to ATS Security Manager

http://*:5000

7 Configuration__clientId The Id of the UploadPortal Client. The Id can be found on the ATS Configuration| under Application and under the CM4D application details for OAUTH Clients

33871b43-c68e-47a2-bde2-3e7d03458c54

8 Configuration__scope The list of scopes (access level) to request when asking a user to authenticate. We strongly recommend to use the same settings described in the Example Value column

openid profile 09b6d6a4-e3b6-488c-8773-07b3f040b017\\\\CM4DAPI SecurityManager.SecuritySettingsScope offline_access

9 Configuration__version version

1.0.0

10 Configuration__BasePath Configuration of Base Path

 

11 Configuration__applicationId Application id

257F8879-1E6D-4CF6-9F42-9DBE53B0FB81

12 Configuration__heartbeatRate Periodic check that determines if a license obtained by a user is still in use

6000

Example configuration file: uploadPortal.env.txt

 

Can we improve this topic?