ForNAV and Docker Containers

You can use Reports ForNAV with your Docker containers. The following is a step-by-step example of how to set up a container that supports ForNAV reports.

Install the BC Container Helper

To help install your container, you must install the BC Container Helper PowerShell module.

install-module bccontainerhelper -force

get-command -Module bccontainerhelper

Write-BCContainerHelperWelcomeText

Create the container

Now you can create the container with the New-BcContainer command.

$artifactUrl = Get-BCArtifactUrl -type OnPrem -select Latest

$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'Pass@word1' -AsPlainText -Force)

New-BcContainer -accept_eula -useSSL -containerName bc -artifactUrl $artifactUrl -Credential $credential -auth UserPassword -updateHosts -licenseFile “C:\temp\license.flf”

You can omit the -useSSL if you don’t need to use https.

Add fonts to the container

To be able to use more fonts than just the Courier font in reports, you must add some of your local fonts to the container.

Add the Arial font:

Add-FontsToBCContainer -containerName bc -path c:\windows\fonts\arial*.ttf

Or, add all fonts from your local machine:

Add-FontsToBCContainer -containerName bc -path c:\windows\fonts\*.ttf

Install the certificate

This stop is only needed if you created your container with -useSSL.

Download the self-signed certificate from the certificate URL shown when you created the container. The URL in this example is http://bc:8080/certificate.cer

Install the downloaded certificate under Trusted Root Certification Authorities. For more information on this, please see https://www.fornav.com/knowledge-base/trusted-certificates/

Install the ForNAV Runtime

This step is optional. From ForNAV 5.0.0.1805 and later, the Designer uploads and installs the ForNAV runtime DLL on the on-premise service tier if it is not there already. It installs it in the temporary files folder belonging to the service tier.

In a production environment, you must still copy the runtime DLL to the add-ins folder under the service tier. Otherwise, you can risk that it is deleted if the temporary files are deleted.

Copying the runtime DLL to the service tier is relatively easy. Here is an example:

docker exec bc cmd.exe /c mkdir "C:\program files\microsoft dynamics nav\170\service\add-ins\ReportsForNAV_5_4_0_2011"

Copy-FileToNavContainer -containername bc -localpath "C:\Program Files\Reports ForNAV\Add-ins\ReportsForNAV\ForNav.Reports.5.4.0.2011.dll" -containerpath "C:\program files\microsoft dynamics nav\170\service\add-ins\ReportsForNAV_5_4_0_2011\ForNav.Reports.5.4.0.2011.dll"

docker stop bc

docker start bc

Configure the ForNAV Designer

You can now connect to your Docker container from the ForNAV Designer.

Enter values that point to your Docker and click Test. Now you can start designing reports.