You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
How to run Binary Ninja in a Docker container? #6834
I'm attempting to run Binary Ninja in a headless Docker container (without GUI) to use its Python API for automation tasks. However, the application fails to start due to Qt/XCB errors (pasted below), likely because the container lacks a display.
While we understand the GUI requires X11 configuration, our primary goal is to configure the license and use the API in a headless environment. Currently, the crash prevents even license setup.
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: wayland-egl, wayland, xcb.
Aborted (core dumped)
Could you provide some configuration guidance for running it in a Docker container?
If you have a commercial or headless license, you can install it by manually dropping the license.dat file at ~/.binaryninja/license.dat. You can then either use the included scripts/install_api.py script to install the python api in your python interpreter or virtual environment, or set PYTHONPATH to the python folder in the install. We have done this for dogbolt, see here: https://github.com/decompiler-explorer/decompiler-explorer/blob/master/runners/decompiler/Dockerfile#L26-L43
Activity
CouleeApps commentedon May 14, 2025
If you have a commercial or headless license, you can install it by manually dropping the license.dat file at
~/.binaryninja/license.dat. You can then either use the includedscripts/install_api.pyscript to install the python api in your python interpreter or virtual environment, or setPYTHONPATHto thepythonfolder in the install. We have done this for dogbolt, see here: https://github.com/decompiler-explorer/decompiler-explorer/blob/master/runners/decompiler/Dockerfile#L26-L43psifertex commentedon May 14, 2025
https://docs.binary.ninja/dev/batch.html#on-disk-license
and
https://docs.binary.ninja/dev/batch.html#in-memory-license
The second was explicitly added for docker instances.