Skip to content

lightweight interactive brokers gateway docker

License

Notifications You must be signed in to change notification settings

whyihk/ib-gateway-docker

 
 

Repository files navigation

IB Gateway docker

Build test Docker Pulls GitHub

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:

Pull the Docker image from Docker Hub

docker pull manhinhang/ib-gateway-docker

Create a container from the image and run it

docker run -d \
--env IB_ACCOUNT= \ #YOUR_USER_ID 
--env IB_PASSWORD= \ #YOUR_PASSWORD  
--env TRADE_MODE= \ #paper or live 
--p 4002:4002 \ #brige IB gateway port to your local port 4002
manhinhang/ib-gateway-docker tail -f /dev/null

Build & Run locally

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 TRADE_MODE= \ #paper or live 
-p 4002:4002 \ #brige IB gateway port to your local port 4002
ib-gateway-docker \
tail -f /dev/null

Container usage example

Example Link Description
ib_insync examples/ib_insync This example demonstrated how to connect IB Gateway
google cloud secret manager examples/google_cloud_secret_manager retreive your interactive brokers account from google cloud secret manager

Tests

The test cases written with testinfra.

Run the tests

pytest

Github Actions for continuous integration

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

Other environment variable

Variable Name Description Default value
IB_GATEWAY_PING_CLIENT_ID ib gateway client id for pinging client status 1
IBGW_WATCHDOG_CONNECT_TIMEOUT Ref to ib_insync.ibcontroller.Watchdog.connectTimeout 30
IBGW_WATCHDOG_APP_STARTUP_TIME ib_insync.ibcontroller.Watchdog.appStartupTime 30
IBGW_WATCHDOG_APP_TIMEOUT Ref to ib_insync.ibcontroller.Watchdog.appTimeout 30
IBGW_WATCHDOG_RETRY_DELAY Ref to ib_insync.ibcontroller.Watchdog.retryDelay 2
IBGW_WATCHDOG_PROBE_TIMEOUT Ref to ib_insync.ibcontroller.Watchdog.probeTimeout 4

Disclaimer

This project is not affiliated with Interactive Brokers Group, Inc.'s.

Good luck and enjoy.

About

lightweight interactive brokers gateway docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 71.9%
  • Dockerfile 22.9%
  • Shell 5.2%