SCREENERBOTDocs
DocsGetting StartedInstallation GuideVPS / Server
Installation / VPS & Server

Run ScreenerBot continuously on a Linux server

The headless release runs the Rust trading engine and dashboard without Electron or a graphical session. The official manager installs it as a systemd service, keeps operational commands in one place, and preserves runtime data across application updates.

Getting Started/Installation/VPS

Runtime

Headless Rust binary

Service

systemd with restart support

Architecture

Linux x64 or ARM64

Access

SSH tunnel recommended

When a VPS is the right choice

Use a VPS when ScreenerBot must keep discovering, monitoring, and managing positions while your personal computer is offline. A server does not remove operational responsibility: you still need secure access, reliable backups, service monitoring, and carefully bounded automation.

Server baseline

  • A modern systemd-based Linux distribution with GLIBC 2.29 or later
  • x64 or ARM64 processor architecture
  • 2 CPU cores and 2 GB RAM minimum
  • 4 CPU cores, 4 GB RAM, and 5 GB free disk recommended
  • Stable network connectivity and SSH access
  • A non-root service user with sudo available, or a controlled root session

Secure the server before trading

SSH

Use key-based login and restrict privileged access.

Firewall

Allow SSH; expose HTTPS only when a secured reverse proxy is required.

Dashboard

Keep port 8080 private and use an SSH tunnel by default.

Backups

Protect config, encrypted wallet material, and databases.

Install with a reviewable script

Download the script, inspect it, then run it with the privileges required to install the binary and systemd unit.

Recommended review-first flow

curl -fsSL https://screenerbot.io/install.sh -o install-screenerbot.sh
less install-screenerbot.sh
sudo bash ./install-screenerbot.sh

Running the script without arguments opens its interactive manager. It checks the system, selects the matching headless release, and asks before enabling or starting the service.

Root session shortcut

On a controlled root shell, the installer can be streamed directly.

curl -fsSL https://screenerbot.io/install.sh | bash

Open the script in a browser

The canonical installer URL is public and can be reviewed before any server command is executed.

View install.sh

What the installer changes

Understand the system changes before accepting them in the interactive flow.

Checks x64 or ARM64 architecture and requires GLIBC 2.29 or later

Installs missing curl, tar, systemctl, or jq dependencies where supported

Downloads the matching headless release through the ScreenerBot release API

Installs the binary under /opt/screenerbot and creates a command symlink

Creates a systemd service with automatic restart behavior

Offers auto-start on boot and immediate service startup

Installs the screenerbot-manager command for updates, logs, backups, and service control

Operate with screenerbot-manager

Run the manager without arguments for the interactive menu, or use explicit commands for automation and routine operations.

Interactive manager

sudo screenerbot-manager

Installation

  • Install the latest or a specific version
  • Update or reinstall while preserving runtime data

Service control

  • Start, stop, restart, and inspect status
  • Stream service logs through journalctl

Data protection

  • Create compressed backups
  • Restore a selected backup file

Monitoring

  • View CPU, memory, disk, uptime, and process state
  • Inspect installed version and service health

Status

sudo screenerbot-manager status

Update

sudo screenerbot-manager update

Restart

sudo screenerbot-manager restart

Logs

sudo screenerbot-manager logs

Backup

sudo screenerbot-manager backup

Monitor

sudo screenerbot-manager monitor

Access the dashboard through SSH

Keep the service bound to the server and forward it into your local machine for private access.

ssh -L 8080:127.0.0.1:8080 user@your-server

While the SSH session is open, use http://127.0.0.1:8080 on your own computer.

Do not expose port 8080 directly

The dashboard controls a trading system. If remote browser access must be public, use a hardened HTTPS reverse proxy and enable dashboard authentication before opening any route through the firewall.

Service and file locations

These paths separate installed application files from user-owned runtime data.

Binary

/opt/screenerbot/screenerbot

Command symlink

/usr/local/bin/screenerbot

Manager

/usr/local/bin/screenerbot-manager

Service unit

/etc/systemd/system/screenerbot.service

Runtime data

~/.local/share/ScreenerBot/data/

Runtime logs

~/.local/share/ScreenerBot/logs/

Direct systemd commands

Status

sudo systemctl status screenerbot

Start

sudo systemctl start screenerbot

Stop

sudo systemctl stop screenerbot

Restart

sudo systemctl restart screenerbot

Enable at boot

sudo systemctl enable screenerbot

Live logs

journalctl -u screenerbot -f

Back up before updates or migration

Use the manager backup command and copy the resulting archive away from the server. A backup stored only on the same VPS does not protect against disk loss or provider failure.

sudo screenerbot-manager backup

Verify the running service

  1. 01Confirm systemd reports the service as active.
  2. 02Read the initial logs and resolve startup errors before continuing.
  3. 03Open the dashboard through the SSH tunnel.
  4. 04Complete setup and confirm service health from the dashboard.
  5. 05Keep automated entries disabled until risk and exit controls are reviewed.
ConfigureInitial SetupRemote operationsTelegram Setup