Skip to content

Fortified IDDocs

Container

Installation guidance for running Fortified ID Control in a container

Control is distributed as a Docker image. This page covers pulling the image, running a basic instance, mounting configuration, and using the available startup options.

  • Docker installed on the host.
  • Access credentials to the Fortified ID image registry (fortifiedid.jfrog.io).
docker pull fortifiedid.jfrog.io/docker/fortifiedid/control:<version>

Replace <version> with the target release, for example 3.0.0.

The minimal command to start a single node:

docker run -p 8080:8080 --detach --name control \
fortifiedid.jfrog.io/docker/fortifiedid/control:<version> \
-c Node config/config.json
Argument Description
-c Route all output to stdout. Omit to write logs to a file inside the container instead.
Node Start the Node module.
config/config.json Configuration file path, relative to SERVER_HOME inside the container (/opt/fortified/servers/control-server).

The image ships with a minimal stub configuration. Mount your own files to override it:

docker run -p 8080:8080 --detach --name control \
-v /path/to/config.json:/opt/fortified/servers/control-server/config/config.json \
-v /path/to/modules:/opt/fortified/servers/control-server/config/modules \
fortifiedid.jfrog.io/docker/fortifiedid/control:<version> \
-c Node config/config.json
Variable Default Description
SERVER_LOG_LEVEL INFO Log verbosity: TRACE, DEBUG, INFO, WARN, or ERROR.
SERVER_LOG_APPENDER File Log destination: File or Console. Passing -c at startup sets this to Console.
SERVER_LOG_DIR <SERVER_HOME>/logs Directory for log files when using file logging.
SERVER_HOME . Server home directory inside the container. Resolved from the working directory at startup.
JAVA_HOME — Path to the JRE to use. Defaults to java on PATH.
JVM_CONFIG — Comma-separated list of JVM configuration profiles to activate (see below).

Pass one or more profile names via JVM_CONFIG to activate optional JVM settings:

Profile Description
customer Loads customer-specific JVM options from bin/customer/java.config, for example -Dcustomer_home=customer and customer-specific Log4j configuration.
debug Enables remote Java debugging via JDWP on port 5005.
cluster Enables Hazelcast clustering for multi-node deployments.
jolokia Enables the Jolokia JVM monitoring agent.
read-only Starts the server in read-only mode.

Example — debug mode:

docker run -p 8080:8080 -p 5005:5005 --detach --name control \
-e SERVER_LOG_LEVEL=DEBUG \
-e JVM_CONFIG=debug \
fortifiedid.jfrog.io/docker/fortifiedid/control:<version> \
-c Node config/config.json

Example — cluster node with trace logging:

docker run -p 8080:8080 --detach --name control \
-e SERVER_LOG_LEVEL=TRACE \
-e JVM_CONFIG=cluster \
-v /path/to/config:/opt/fortified/servers/control-server/config \
fortifiedid.jfrog.io/docker/fortifiedid/control:<version> \
-c Node config/config.json

Example — customer config in read-only mode:

docker run -p 8080:8080 --detach --name control \
-e SERVER_LOG_LEVEL=TRACE \
-e JVM_CONFIG=customer,read-only \
-v /path/to/customer:/opt/fortified/servers/control-server/customer \
fortifiedid.jfrog.io/docker/fortifiedid/control:<version> \
-c Node customer/config/config.json

When the customer profile is enabled, Control loads JVM options from:

/opt/fortified/servers/control-server/bin/customer/java.config

This can be used to expose customer-specific system properties such as:

-Dlog4j.configurationFile=customer/config/log4j2.xml
-Dcustomer_home=customer

This makes properties like ${system.customer_home} available in container deployments in the same way as in other installation types.

Check the log to confirm the server bootstrapped successfully:

docker logs -f control

Then open a browser and navigate to:

http://localhost:8080/control/flow00/

A welcome page confirms the service is running.