Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: build
name: clientprotal

on:
push:
Expand All @@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 30
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-standard
group: ${{ github.workflow }}-${{ github.ref }}-clientprotal-standard
cancel-in-progress: true

steps:
Expand Down Expand Up @@ -54,8 +54,8 @@ jobs:
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
context: ./clientportal
file: ./clientportal/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: |
Expand All @@ -66,7 +66,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 30
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-beta
group: ${{ github.workflow }}-${{ github.ref }}-clientprotal-beta
cancel-in-progress: true

steps:
Expand Down Expand Up @@ -96,8 +96,8 @@ jobs:
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
context: ./clientportal
file: ./clientportal/Dockerfile
push: true
build-args: |
FILE=/clientportal.beta.gw.zip
Expand Down
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# IBKR Client Portal API Gateway Image
# Client Portal Gateway & IB Gateway Image

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/chasenlabs/clientportal/main.yml)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/chasenlabs/clientportal/clientportal.yml)
[![GitHub License](https://img.shields.io/github/license/chasenlabs/clientportal)](LICENSE)
[![Docker](https://img.shields.io/badge/docker-openjdk-blue.svg)](Dockerfile)
[![Docker](https://img.shields.io/badge/docker-openjdk-blue.svg)](clientprotal/Dockerfile)
[![IBKR](https://img.shields.io/badge/ibkr-clientportal-ffffff.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8yIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCiAgICAgeT0iMHB4IgogICAgIHZpZXdCb3g9IjAgMCA2OSA2OSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjkgNjk7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMjIyMjIyO30KCS5zdDF7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qye2ZpbGw6I0Q4MTIyMjt9Cjwvc3R5bGU+CjxnPgoJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzODY0LjczNzUiIHkxPSI0OS43ODMiIHgyPSIzODkzLjE0NDUiIHkyPSI0OS43ODMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMzg5NC4yNDQ2IDApIj4KCTxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0Q4MTIyMiIvPgoJPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojOTYwQjFBIi8+Cgk8L2xpbmVhckdyYWRpZW50PgoJPHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIyOS41LDY1LjQgMS4xLDY1LjQgMS4xLDM0LjEiLz4KCTxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjI1LjUiIGN5PSI0MS44IiByPSI4LjUiLz4KCTxwb2x5Z29uIGNsYXNzPSJzdDIiIHBvaW50cz0iMjkuNSwxLjIgMS4xLDM0LjEgMS4xLDY1LjQiLz4KPC9nPgo8L3N2Zz4K)](https://www.interactivebrokers.com/)
[![IBKR](https://img.shields.io/badge/ibkr-IB%20gateway%20not%20experimented-ffffff.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8yIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCiAgICAgeT0iMHB4IgogICAgIHZpZXdCb3g9IjAgMCA2OSA2OSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjkgNjk7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMjIyMjIyO30KCS5zdDF7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qye2ZpbGw6I0Q4MTIyMjt9Cjwvc3R5bGU+CjxnPgoJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzODY0LjczNzUiIHkxPSI0OS43ODMiIHgyPSIzODkzLjE0NDUiIHkyPSI0OS43ODMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgMzg5NC4yNDQ2IDApIj4KCTxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0Q4MTIyMiIvPgoJPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojOTYwQjFBIi8+Cgk8L2xpbmVhckdyYWRpZW50PgoJPHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIyOS41LDY1LjQgMS4xLDY1LjQgMS4xLDM0LjEiLz4KCTxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjI1LjUiIGN5PSI0MS44IiByPSI4LjUiLz4KCTxwb2x5Z29uIGNsYXNzPSJzdDIiIHBvaW50cz0iMjkuNSwxLjIgMS4xLDM0LjEgMS4xLDY1LjQiLz4KPC9nPgo8L3N2Zz4K)](https://www.interactivebrokers.com/)

This repository contains the Dockerfile and configuration files to build an image for the IBKR Client Portal API Gateway. This is pure image without any modification.

Download the latest version of the gateway from the [IBKR Client Portal API Gateway](https://www.interactivebrokers.com/campus/ibkr-api-page/cpapi-v1/#gw-limitations) page.
Download latest version
- [Client Portal Gateway (clientportal or cp)](https://www.interactivebrokers.com/campus/ibkr-api-page/cpapi-v1/#gw-limitations)
- [IB Gateway](https://www.interactivebrokers.com/en/trading/ibgateway-stable.php)

> [!IMPORTANT]
> This project is not officially supported by `Interactive Brokers`, and the author is not responsible for any problems caused by the use of this project.
Expand All @@ -28,11 +31,13 @@ docker run -d --name clientportal -p 5000:5000 ghcr.io/chasenlabs/clientportal:l
docker run -d --name clientportal -p 5000:5000 ghcr.io/chasenlabs/clientportal:latest-beta # beat
```

open your browser and go to: [https://localhost:5000/](http://localhost:5000/), if running other computer replace `localhost` with the IP address of the computer running the gateway.
- `clientportal`: open your browser and go to: [https://localhost:5000/](http://localhost:5000/), if running other computer replace `localhost` with the IP address of the computer running the gateway.

- get config file from container

get config file from container

```shell
# clientportal
docker exec -it clientportal cat /clientportal/root/conf.yaml
```

Expand Down
File renamed without changes.
File renamed without changes.
24 changes: 24 additions & 0 deletions ibgateway/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#FROM openjdk:24-slim
FROM debian:12-slim

LABEL org.opencontainers.image.maintainer="ChasenLbas <chasen.space@gmail.com>"
LABEL org.opencontainers.image.title="Interactive Brokers Gateway Docker Image"
LABEL org.opencontainers.image.description="Interactive Brokers Brokers Gateway Docker Image"

ARG VERSION=10.30.1o

# latest stable
ARG STAGE=stable
ARG GATEEWAY_FILE=/ibgateway.sh
ARG WORKDIR=/ibgateway
ARG URL=https://download2.interactivebrokers.com/installers/ibgateway/${STAGE}-standalone/ibgateway-${STAGE}-standalone-linux-x64.sh

ADD ${URL} ${GATEEWAY_FILE}

WORKDIR ${WORKDIR}

RUN chmod +x ${GATEEWAY_FILE} && \
# input install dir / confirm dir / not run
# example: /ibgateway / n / n
echo "${WORKDIR}\ny\nn\n" | bash ${GATEEWAY_FILE} && \
rm ${GATEEWAY_FILE}
3 changes: 3 additions & 0 deletions ibgateway/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

- stable version https://download2.interactivebrokers.com/installers/ibgateway/stable-standalone/version.json
- latest version https://download2.interactivebrokers.com/installers/ibgateway/latest-standalone/version.json