This repo exists to fill my own need of running Interactive Brokers Client Portal API.
There are some key modifications made to the init script and related config file, namely:
- Allow access from all RFC1918 subnets
- Fix config file logic as it seems broken out-of-the-box
- Add Jolokia jar to enable exposing metrics
- Introduce
$JAVA_OPTS
to allow for easy customization - It is possible to see which gateway version is part of the image by running:
docker run --rm -ti --entrypoint /bin/ash <image> -c 'unzip dist/ibgroup.web.core.iblink.router.clientportal.gw.jar META-INF/MANIFEST.MF ; cat META-INF/MANIFEST.MF'
- One might want to change the default GC to improve latency to reduce the chance of missed executions due to unexpected delays in order execution.
- It is generally a good idea to set an explicit limit to Java memory usage using the
-Xmx
option. - To provide some insight into the performance of the Client Portal it is possible to hook up Jolokia. To make the metrics exposed by Jolokia available in a more easily digestible format one can use the included jolokia-exporter.yaml together with jolokia_exporter for Prometheus consumption.
Example: JAVA_OPTS="-javaagent:/jolokia-jvm.jar=host=0.0.0.0 -XX:+UseZGC -Xmx128m"
This project uses the 0BSD license.
SPDX-License-Identifier: 0BSD