Skip to content

Niek/ibkr-dash

Repository files navigation

IBKR Dash

A lightweight PHP dashboard for Interactive Brokers that shows:

  • Net liquidation chart (last 30 days)
  • Positions with P&L and base-currency P&L
  • Cash balances
  • Intraday P&L (partitioned)
  • Gateway status
  • Privacy toggle to blur sensitive amounts for sharing

The app depends on the IBKR Client Portal Gateway. For long-lived sessions, ibeam is recommended.

Screenshot

Dashboard with privacy blur enabled

Requirements

  • PHP 8.x (tested with built-in server)
  • IBKR Client Portal Gateway running locally
  • APCu (optional, but recommended for 5‑minute API caching)

Setup

  1. Copy the environment file:
cp .env.example .env
  1. Adjust .env if needed:
GATEWAY_BASE_URL=https://localhost:5050/v1/api

Optional dashboard basic auth:

USERNAME=...
PASSWORD=...

Run

php -S 127.0.0.1:5080

Open:

http://127.0.0.1:5080/

Docker

docker run --rm -e GATEWAY_BASE_URL=https://host.docker.internal:5050/v1/api -p 5080:5080 --pull=always ghcr.io/niek/ibkr-dash:latest

Telegram Report (optional)

telegram.php sends a daily summary (yesterday’s performance, CET/CEST) to a Telegram chat.

TELEGRAM_TOKEN=...
TELEGRAM_CHAT=...

Run:

php telegram.php

Notes

  • API calls are cached for 5 minutes when APCu is available.
  • Base-currency P&L uses /pa/transactions (days param) for historical FX and cost basis.
  • Intraday P&L uses /iserver/account/pnl/partitioned.
  • The dashboard assumes the Client Portal Gateway is already authenticated.

About

Interactive Brokers Dashboard in PHP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors