advantys/workflowgen:7.18.3-win-ltsc2019-onbuildthat can be used to easily customize any file contained in
C:\Program Files\Advantys\WorkflowGen. All you need to do is create your own image with a Dockerfile that inherits from the onbuild variant and put the customized files in the Docker build context.
web.configfile, customizes the banner, and adds a custom library.
docker-compose.ymlin your context directory:
imageproperty. If you want to immediately update your Compose deployment on your local machine or immediately execute this deployment after the build, execute the following command, which will build your container in addition to running the services after the build:
wfappsfolder and configure in IIS. You would perform the same steps as before, but also add a custom Docker CMD script that will configure the application in IIS.
docker-entrypoint.ps1: This is the main script that gets executed when you run a container. It handles the parsing of environment variables, configuration of authentication methods, etc.
monitor-services.ps1: This script handles the monitoring of processes (IIS and Windows services), as well as gathering the logs of the container and redirecting them to the standard output.
healthcheck.ps1: This handles the periodic check that indicates if WorkflowGen is working properly or not. This is defined in the WorkflowGen Dockerfile and is handled by the Docker engine.
*.psm1: Various developed PowerShell modules available in the image.
ServiceMonitor.exe: Binary executable provided by Microsoft. This is the main executable used by the monitoring script to check the state of a service. (You can find more information about ServiceMonitor on its GitHub page at microsoft/IIS.ServiceMonitor).
set-state.ps1: Sets the state of the container, such as bringing the website offline or online.
ConvertTo-WebApplicationcommand will cause the start procedure to fail when trying to add an already-added web application. Consequently, you have to check that you haven't already added the application.
powershellas an argument to the run command like so:
powershellargument will be executed by the
Invoke-Expressioncommand and a new PowerShell command prompt will be displayed. If no arguments are passed, the default behavior is to start monitoring the services. Since the image already has a script for that, you only need to execute it.