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.
Prerequisites
Required Toolchain
Install these before building.
| Tool | Version | Purpose |
|---|---|---|
| Rust | 1.75+ | Compile the trading engine |
| Cargo | bundled | Rust package manager |
| Node.js | 18+ | Electron packaging only |
| npm | 9+ | 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 --installWindows
Visual Studio Build Tools (C++ workload) + WiX ToolsetLinux
sudo apt install build-essential pkg-config libssl-devQuick 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/screenerbotIn 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
| Setting | Debug | Release |
|---|---|---|
| opt-level | 0 (none) | 2 (balanced) |
| codegen-units | 256 | 256 |
| incremental | true | true |
| strip | — | symbols |
| 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.