fixedge-cpp
The official image of FIX server FIXEdge by B2BITS®, EPAM's Capital Markets Competency Center.
6.2K
FIXEdge® is an application server by B2BITS®, EPAM's Capital Markets Competency Center, providing FIX connectivity to buy and sell side institutions, exchanges and clearing houses.
It supports all workflows for all asset classes defined in the FIX protocol.
Client applications communicate with FIXEdge via one of multiple supported message protocols (e.g. JMS, IBM MQ, REST) employing transport adaptors.
It is designed to be easy to install, configure, administer and monitor sessions and trading information flows. It is written in C++ and has a performance profile suitable for the needs of all clients up to and including large sell-side institutions and large volume traders.
FIXEdge adheres to the best information security practices defined in FIX security recommendations.
This image contains standalone FIXEdge® application server .
Administration and monitoring utilities, such as FIX Integrated Control Center H2 (FIXICC H2®) and FIXEye, are distributed separately.
Official Helm Charts is the easiest way to deploy FIXEdge and supplimentary tools in Kubernetes. Read more about FIXEdge installation in the EPAM FIXEdge Chart GitHub Repository.
The recommended way to get the FIXEdge Docker Image is to pull the prebuilt image from the Docker Hub Registry.
$ docker pull b2bitsepam/fixedge-cpp
To use a specific version, you can pull a versioned tag. You can view the list of available versions in the Docker Hub Registry.
$ docker pull b2bitsepam/fixedge-cpp:[TAG]
To run FIXEdge you will need a valid license file. You can obtain a trial license from [email protected].
This image is self-contained and does not require external configuration sources.
A default configuration allows FIXEdge to accept FIX session with parameters:
SenderCompID = FIXCLIENT
TargetCompID = FIXEDGE
FIX Protocol Version = FIX 4.4
Listen Port = 8901
Assuming you have obtained a license, you can get it running in a few ways.
$ docker run \
--name fixedge \
-v /path/to/engine.license:/etc/fixedge/engine.license \
-v /path/to/fixedge-logs:/var/log/fixedge \
-p 8901:8901 \
b2bitsepam/fixedge-cpp
Use this template for docker-compose.yaml:
version: '3'
services:
fixedge:
image: b2bitsepam/fixedge-cpp:latest
ports:
- 8901:8901
volumes:
- '/path/to/engine.license:/etc/fixedge/engine.license'
- '/path/to/fixedge-logs:/var/log/fixedge'
Then run docker-compose up -d.
In standalone mode FIXEdge consumes all configuration from filesystem. A custom configuration can be mounted to /etc/fixedge folder.
$ docker run --rm -v /path/to/fixedge-conf:/tmp/fixedge-conf b2bitsepam/fixedge-cpp sh -c 'cp -r /etc/fixedge/* /tmp/fixedge-conf'
For more details please have a look at FIXEdge Configuration documentation
$ docker run \
--name fixedge \
-v /path/to/fixedge-conf:/etc/fixedge/ \
-v /path/to/engine.license:/etc/fixedge/engine.license \
-v /path/to/logs:/var/log/fixedge \
-p 8901:8901 \
b2bitsepam/fixedge-cpp
You can also do this with a minor change to the docker-compose.yaml file:
fixedge:
...
volumes:
- '/path/to/fixedge-conf:/etc/fixedge/'
...
If you remove the container then FIX sessions sequnce numbers and message caches will be lost. To avoid this loss of data, you should mount a volume that will persist even after the container is removed.
For persistence you should mount a directory at the /var/lib/fixedge path.
$ docker run \
--name fixedge \
-v /path/to/fixedge-conf:/etc/fixedge/ \
-v /path/to/engine.license:/etc/fixedge/engine.license \
-v /path/to/logs:/var/log/fixedge \
-v /path/to/fixedge-data:/var/lib/fixedge \
-p 8901:8901 \
b2bitsepam/fixedge-cpp
You can also do this with a minor change to the docker-compose.yaml file:
fixedge:
...
volumes:
- '/path/to/fixedge-data:/var/lib/fixedge'
...
By default FIXEdge accepts unencrypted TCP connections on port 8901. To enable SSL/TLS support you should provide TLS certificates and make configuration changes.
Put them to path/to/fixedge-conf folder.
For example, you can generate self-signed certificate as well:
$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365 -nodes -subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com"
Follow guideance in FIXEdge SSL Parameters documentation.
Assuming you have configured ListenSSLPort = 8905,
$ docker run \
--name fixedge \
-v /path/to/fixedge-conf:/etc/fixedge/ \
-v /path/to/engine.license:/etc/fixedge/engine.license \
-v /path/to/logs:/var/log/fixedge \
-p 8901:8901 \
-p 8905:8905 \
b2bitsepam/fixedge-cpp
You can also do this with a minor change to the docker-compose.yaml file:
fixedge:
...
ports:
- 8905:8905
...
$ docker run --rm -v $(pwd)/fixedge-conf:/tmp/fixedge-conf b2bitsepam/fixedge-cpp sh -c 'cp -r /etc/fixedge/* /tmp/fixedge-conf'
$ docker run \
--name fixedge \
-v $(pwd)/fixedge-conf:/etc/fixedge/ \
-v $(pwd)/engine.license:/etc/fixedge/engine.license \
-v $(pwd)/fixedge-logs:/var/log/fixedge \
-v $(pwd)/fixedge-data:/var/lib/fixedge \
-p 8901:8901 \
-p 8905:8905 \
b2bitsepam/fixedge-cpp
Or use docker-compose.yaml file:
version: '3'
services:
fixedge:
image: b2bitsepam/fixedge-cpp:latest
ports:
- 8901:8901
- 8905:8905
volumes:
- './engine.license:/etc/fixedge/engine.license'
- './fixedge-conf:/etc/fixedge'
- './fixedge-logs:/var/log/fixedge'
- ./fixedge-data:/var/lib/fixedge'
Ph: +1-267-759-9000 ext 9
Email: [email protected]
For technical queries please contact [email protected]
© B2BITS EPAM Systems Company 2000-2025.
Content type
Image
Digest
sha256:35f2b03b2…
Size
391.8 MB
Last updated
9 days ago
docker pull b2bitsepam/fixedge-cpp