lightweight interactive brokers gateway docker
It's just pure IB Gateway
and don't include any VNC service (for security reason, I don't like expose extra port)
This docker image just installed:
-
IB Gateway (10.30.1l)
-
IBC (3.20.0)
docker pull manhinhang/ib-gateway-docker
docker run -d \
--env IB_ACCOUNT= \ #YOUR_USER_ID
--env IB_PASSWORD= \ #YOUR_PASSWORD
--env TRADING_MODE= \ #paper or live
-p 4002:4002 \ #brige IB gateway port to your local port 4002
manhinhang/ib-gateway-docker
git clone git@github.com:manhinhang/ib-gateway-docker.git
cd ib-gateway-docker
docker build --no-cache -t ib-gateway-docker .
docker run -d \
--env IB_ACCOUNT= \ #YOUR_USER_ID
--env IB_PASSWORD= \ #YOUR_PASSWORD
--env TRADING_MODE= \ #paper or live
-p 4002:4002 \ #brige IB gateway port to your local port 4002
ib-gateway-docker
Example | Link | Description |
---|---|---|
ib_insync | examples/ib_insync | This example demonstrated how to connect IB Gateway |
Healthcheck via api call http://localhost:8080/healthcheck
Config HEALTHCHECK_API_ENABLE=true
in environment variable to enable API
curl -f http://localhost:8080/healthcheck
- Docker compose example
services:
ib-gateway:
image: manhinhang/ib-gateway-docker
ports:
- 4002:4002
environment:
- IB_ACCOUNT=$IB_ACCOUNT
- IB_PASSWORD=$IB_PASSWORD
- TRADING_MODE=$TRADING_MODE
- HEALTHCHECK_API_ENABLE=true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/healthcheck"]
interval: 60s
timeout: 30s
retries: 3
start_period: 60s
Execute healthcheck
to detect IB gateway haelth status
healthcheck
# output: Ping IB Gateway successful
echo $?
# output: 0
healthcheck
# output: Can not connect to IB Gateway
echo $?
# output: 1
- Docker compose example
services:
ib-gateway:
image: manhinhang/ib-gateway-docker
ports:
- 4002:4002
environment:
- IB_ACCOUNT=$IB_ACCOUNT
- IB_PASSWORD=$IB_PASSWORD
- TRADING_MODE=$TRADING_MODE
healthcheck:
test: /healthcheck/bin/healthcheck
interval: 60s
timeout: 30s
retries: 3
start_period: 60s
The test cases written with testinfra.
Run the tests
pytest
After forking IB Gateway docker
repository, you need config your interactive brokers paper account & password in github secret
Key | Description |
---|---|
IB_ACCOUNT | your paper account name |
IB_PASSWORD | your paper account password |
This project is not affiliated with Interactive Brokers Group, Inc.'s.
Good luck and enjoy.