SCREENERBOTDocs
DocsGetting StartedRunning the Bot
Getting Started / Running the Bot

Choose one runtime and let it own the process

The native desktop app manages the Rust backend for you. Headless mode runs that same backend directly for terminal use or a managed Linux service. Do not launch both against the same local data directory.

Getting Started/Running the Bot

Desktop

Native Electron window + managed backend

Headless

Direct Rust process + browser dashboard

Desktop network

Dynamic protected localhost port

Headless default

127.0.0.1:8080

Native desktop operation

Open ScreenerBot from the operating system like any other application. The desktop shell starts the Rust backend with --gui, waits for health checks, then loads the dashboard inside the native window.

  • • The backend selects a free high port automatically.
  • • Requests carry a per-session security token.
  • • The server remains bound to localhost.
  • • Use the native window; do not copy its internal URL into another browser.

Headless operation

Run the binary directly when you need terminal logs, a local browser dashboard, or continuous Linux service operation. Headless mode has no Electron window and uses the configured host and port.

screenerbot
# Dashboard: http://127.0.0.1:8080

Start the installed build

Use the command that belongs to the installation type. Source-checkout development commands are not required for packaged releases.

Desktop package

Launch ScreenerBot from Applications, Start, or the Linux application menu. The app owns backend startup, restart, and shutdown.

Direct headless binary

screenerbot

Keep the terminal attached and stop with Ctrl+C.

VPS manager

sudo screenerbot-manager start
sudo screenerbot-manager status

Understand the startup state

The webserver starts before the rest of the system so first-run setup remains reachable.

Setup required

No configuration exists

Only the first-run experience and initialization endpoints are available.

Preview

Wallet and RPC were skipped

Discovery, filtering, events, tokens, and the dashboard run without trading.

Full operation

Wallet and RPC validated

Wallet-dependent services start and the complete dashboard becomes operational.

Headless host and port overrides

Command-line values override configuration. GUI mode ignores these values because it always uses a protected dynamic localhost port.

screenerbot --port 9000
screenerbot --host 127.0.0.1 --port 9000

Remote dashboard access

Keep the headless server bound to localhost and reach it through an SSH tunnel. Binding directly to0.0.0.0 exposes the unauthenticated headless dashboard unless you add a secure network boundary.

ssh -L 8080:127.0.0.1:8080 user@server

Stop and restart cleanly

Graceful shutdown lets services finish their cleanup and releases the single-instance lock.

Desktop

Quit ScreenerBot from its application controls. Closing or quitting the native app coordinates backend shutdown; avoid force-killing it during normal use.

Terminal

Ctrl+C

Managed service

sudo screenerbot-manager stop
sudo screenerbot-manager restart
sudo screenerbot-manager logs

What healthy startup looks like

  • The dashboard opens and service health progresses instead of remaining stuck.
  • RPC success and latency begin reporting after full setup.
  • Wallet, token, and position data populate according to the selected startup tier.

If another instance is detected

Return to the already-running desktop window or stop the existing headless service. Do not delete locks while a process is active and do not run desktop and headless builds against the same data directory.

Read the running dashboard

Identify startup tier, services, RPC health, and navigation.

Dashboard guide

Deploy a managed VPS service

Install, secure, back up, and operate the headless build.

VPS guide