Skip to content

Image size & profiles

The published image is intentionally self-contained: MT5 runs under Wine, and the Wine prefix includes Windows Python, the MetaTrader5 Python package, and the MT5 terminal itself, so a fresh volume boots quickly.

On the published 0.3.1 image, an audit showed the following breakdown. The image has moved to 0.3.10 since, and this hasn't been re-measured — treat these as indicative, not exact, until someone re-runs the audit against the current tag.

Area Approx size Why it exists
Docker Hub compressed layers 2.75 GB Network pull size for amd64 image layers.
Local Docker image 7.78 GB Expanded image plus Docker layer accounting.
/opt/wine-template 2.0 GB Preseeded Wine prefix with Windows Python, MT5 Python deps, and the MT5 terminal itself; a cold boot never runs an installer.
/opt/wine-stable 1.5 GB Wine runtime required to run MT5.
KasmVNC/base desktop stack ~2.1 GB layer Browser VNC desktop for diagnostics/manual login.
App code <1 MB Flask API and broker resolver are not the size driver.

Operationally, this is not a runtime correctness problem, but it does affect image pull time, registry bandwidth, and disk footprint. The leanest production image would split the profiles:

  • latest / version tag: API-first production image with Wine + virtual display, no browser VNC desktop.
  • dev / diagnostic tag: current KasmVNC desktop image for manual login and troubleshooting.

That split is feasible, but it requires a separately validated startup path because the current image relies on the linuxserver KasmVNC base init system. Until that split is shipped, latest is the full headless-capable image with diagnostic VNC still present. Keep ports bound to loopback or private networks in production — see Ports & security.