ScreenerBot
DocsGetting StartedBuild From Source

Build From Source

ScreenerBot is open source. You can compile the full application from source code — either as a headless binary or as a packaged desktop application.

Get the Source Tarball

Every release ships a versioned source archive containing the complete Rust engine, Electron shell, and all build configuration. Download it from the releases page.

Download Page

Prerequisites

Required Toolchain

Install these before building.

ToolVersionPurpose
Rust1.75+Compile the trading engine
CargobundledRust package manager
Node.js18+Electron packaging only
npm9+Comes with Node.js

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

Install Node.js (optional — needed for desktop packaging only)

nvm install 22 && nvm use 22

macOS

xcode-select --install

Windows

Visual Studio Build Tools (C++ workload) + WiX Toolset

Linux

sudo apt install build-essential pkg-config libssl-dev

Quick Start

Build and Run (headless)

The fastest path — no GUI needed.

# 1) Download the source tarball for a specific version
curl -fL "https://screenerbot.io/api/releases/download?version=<VERSION>&platform=source-code" \
     -o screenerbot-source.tar.gz

# 2) Extract
tar -xzf screenerbot-source.tar.gz
cd ScreenerBot-v<VERSION>-source

# 3) Compile the Rust binary (release build)
cargo build --release

# 4) Run directly in headless mode
./target/release/screenerbot

In headless mode the web dashboard is accessible at http://localhost:8080 by default. The port is configurable via the [webserver] section in config.toml. All trading features are fully available without the desktop GUI.

Building the Rust Engine

Cargo Build

Two modes: debug for development, release for production.

Debug build (faster compilation)

cargo build
# Output: target/debug/screenerbot

Release build (optimized)

cargo build --release
# Output: target/release/screenerbot
SettingDebugRelease
opt-level0 (none)2 (balanced)
codegen-units256256
incrementaltruetrue
stripsymbols
First build time~2–4 min~5–15 min
Incremental~10–30 sec~1–3 min

Building the Desktop App

Electron Packaging

Wraps the Rust binary in a native desktop app with system tray, native window, and platform installers.

# 1) Build the Rust binary first
cargo build --release

# 2) Install Electron dependencies
cd electron
npm install

# 3) Copy the compiled binary to the expected location
cp ../target/release/screenerbot .          # macOS / Linux
# copy ..\target\release\screenerbot.exe .  # Windows

# 4) Package for the current platform
npm run make

macOS

electron/out/make/ — .dmg and .zip

Windows

electron/out/make/wix/ — .msi

Linux

electron/out/make/deb/ — .deb

Headless Mode (Server / VPS)

The Rust binary runs standalone without any Electron dependency — ideal for VPS deployments. The full web dashboard is served on port 8080 by default (configurable via [webserver] port in config.toml).

cargo build --release
./target/release/screenerbot
# Dashboard: http://localhost:8080  (default; set [webserver] port in config.toml to change)

For automated VPS installation see the VPS Installation guide.