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.
Prerequisites
Section titled “Prerequisites”- Docker installed on the host.
- Access credentials to the Fortified ID image registry (
fortifiedid.jfrog.io).
Pull the image
Section titled “Pull the image”docker pull fortifiedid.jfrog.io/docker/fortifiedid/control:<version>Replace <version> with the target release, for example 3.0.0.
Run the container
Section titled “Run the container”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). |
Mount custom configuration
Section titled “Mount custom configuration”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.jsonEnvironment variables
Section titled “Environment variables”| 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). |
JVM configuration profiles
Section titled “JVM configuration profiles”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.jsonExample — 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.jsonExample — 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.jsonWhen the customer profile is enabled, Control loads JVM options from:
/opt/fortified/servers/control-server/bin/customer/java.configThis can be used to expose customer-specific system properties such as:
-Dlog4j.configurationFile=customer/config/log4j2.xml-Dcustomer_home=customerThis makes properties like ${system.customer_home} available in container deployments in the same way as in other installation types.
Verify installation
Section titled “Verify installation”Check the log to confirm the server bootstrapped successfully:
docker logs -f controlThen open a browser and navigate to:
http://localhost:8080/control/flow00/
A welcome page confirms the service is running.