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.
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.shRunning 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 | bashOpen the script in a browser
The canonical installer URL is public and can be reviewed before any server command is executed.
View install.shWhat 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-managerInstallation
- 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 statusUpdate
sudo screenerbot-manager updateRestart
sudo screenerbot-manager restartLogs
sudo screenerbot-manager logsBackup
sudo screenerbot-manager backupMonitor
sudo screenerbot-manager monitorAccess 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-serverWhile 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 screenerbotStart
sudo systemctl start screenerbotStop
sudo systemctl stop screenerbotRestart
sudo systemctl restart screenerbotEnable at boot
sudo systemctl enable screenerbotLive logs
journalctl -u screenerbot -fBack 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 backupVerify the running service
- 01Confirm systemd reports the service as active.
- 02Read the initial logs and resolve startup errors before continuing.
- 03Open the dashboard through the SSH tunnel.
- 04Complete setup and confirm service health from the dashboard.
- 05Keep automated entries disabled until risk and exit controls are reviewed.