Build the ScreenerBot engine or native desktop app
The Rust binary contains the trading engine, services, API, and embedded dashboard. It can run alone in headless mode. The Electron project is a separate native shell that starts that binary and presents the desktop application.
Engine
Rust binary with embedded dashboard
Headless
No Node.js or Electron required
Desktop
Electron Forge packages the binary
Release source
Versioned source tarball
Use a versioned source tarball
Every published source package is tied to a release. Use the live download page to select the version and copy its verified source archive information.
Build model
Build the core once, then decide whether the output should run directly or be bundled into a desktop app.
Get a versioned source release
Start from the source tarball that matches the release you intend to build.
Build the Rust binary
Use a debug build for code iteration or a release build for normal operation.
Run headless or package desktop
The Rust binary runs independently; Electron is needed only for the native desktop shell.
Verify the output
Confirm the exact binary or package launches on the platform and architecture that produced it.
Toolchain
Node.js is not part of the trading engine build. Install it only when you need Electron packaging.
Rust stable
Compiles the trading engine and embedded web dashboard into the ScreenerBot binary.
Headless and desktop builds
Native build tools
Provides the compiler, linker, and platform libraries required by Rust dependencies.
Headless and desktop builds
Node.js 22 + npm
Installs Electron Forge and creates native desktop packages around the compiled Rust binary.
Desktop packaging only
Install Rust
Install the current stable toolchain with rustup, then load Cargo into the current shell.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
rustc --version
cargo --versionInstall Node.js for desktop packaging
Node.js 22 matches the current project and website build environment.
nvm install 22
nvm use 22
node --version
npm --versionmacOS
Install Apple command-line developer tools.
xcode-select --install
Windows
Install Visual Studio Build Tools with the Desktop development with C++ workload.
Visual Studio Build Tools + C++ workload
Debian / Ubuntu
Install the compiler and common native package metadata tools.
sudo apt install build-essential pkg-config
Get and extract the source
Replace the placeholder with the exact version shown on the release page.
Versioned source release
curl -fL "https://screenerbot.io/api/releases/download?version=<VERSION>&platform=source-code" \
-o screenerbot-source.tar.gz
tar -xzf screenerbot-source.tar.gz
cd ScreenerBot-v<VERSION>-sourceDebug build
Use this for source changes and fast incremental compilation. It is not the normal distribution build.
cargo build --bin screenerbot
./target/debug/screenerbotRelease build
Use the optimized binary for normal local or headless operation.
cargo build --release --bin screenerbot
./target/release/screenerbotRun the Rust binary headlessly
The standalone binary serves the dashboard on the configured webserver port, which defaults to 8080 in headless operation. It does not need Electron or a graphical session.
cargo build --release --bin screenerbot
./target/release/screenerbot
# Default headless dashboard:
# http://127.0.0.1:8080Keep the headless dashboard private
Do not expose the dashboard port directly to the public internet. Use an SSH tunnel or a secured reverse proxy with authentication and TLS.
Package the desktop application
Electron Forge reads the compiled binary from target/release and creates packages for the current host platform and selected architecture.
Build engine, install locked dependencies, package
cargo build --release --bin screenerbot
cd electron
npm ci
npm run makemacOS
DMG and ZIP makers
electron/out/make/
Windows
MSI and ZIP makers
electron/out/make/
Linux
DEB, RPM, and ZIP makers where supported
electron/out/make/
Desktop packages are platform-specific. Build and verify each target on a compatible host or use the project’s established multi-platform build pipeline; do not assume one local npm run make produces every operating system and architecture.
Verify the build output
- Launch the exact debug, release, or packaged output you intend to use.
- Confirm the first-run setup appears without a missing-binary error.
- For headless mode, confirm the configured dashboard endpoint responds locally.
- For desktop mode, confirm the Electron app starts its bundled Rust binary.
- Keep automation disabled until runtime configuration is reviewed.