ATS Tracker / Installation & Usage Guide

Overview

ATS Tracker is a lightweight server that collects and displays real-time test execution data from Agilitest agents. It provides a web dashboard accessible from any browser and a WebSocket API for live updates.

FeatureDetails
Web DashboardReal-time view of running and completed test executions
WebSocketLive push updates to connected clients and dashboard
Embedded DatabaseSurrealDB with RocksDB — no external database required
Data RetentionAutomatic cleanup of old executions (configurable)
AuthenticationBearer token for API and WebSocket access
Service ModeRuns as systemd service (Linux) or Windows service

Requirements

Linux
Windows
  • Linux x86_64 (Ubuntu 20.04+, Debian 11+, RHEL 8+, or similar)
  • Root/sudo access (for service installation)
  • curl (for downloading the binary)
  • openssl (for automatic token generation)
  • systemd (for service management)
  • Windows 10 / Windows Server 2016 or later
  • Administrator privileges (for service installation)
  • PowerShell 5.1+ (included with Windows)

Installation

Linux
Windows
1

Download the binary

curl -fSL https://actiontestscript.org/tools/ats-tracker/linux/ats-tracker -o ats-tracker
chmod +x ats-tracker
2

Install as a service

sudo ./ats-tracker install token=your_secret_token

The installer will configure and start a systemd service. You can pass additional options:

sudo ./ats-tracker install port=3000 token=your_secret_token retention=10 refresh=5
3

Verify

./ats-tracker status

Run without installing (foreground)

./ats-tracker port=3000 token=your_secret_token retention=10 refresh=5
1

Download the binary

Invoke-WebRequest -Uri "https://actiontestscript.org/tools/ats-tracker/windows/ats-tracker.exe" -OutFile ats-tracker.exe
2

Install as a service (as Administrator)

.\ats-tracker.exe install token=your_secret_token

The installer will configure and start a Windows service. You can pass additional options:

.\ats-tracker.exe install port=3000 token=your_secret_token retention=10 refresh=5
3

Verify

.\ats-tracker.exe status

Run without installing (foreground)

.\ats-tracker.exe port=3000 token=your_secret_token retention=10 refresh=5

Once installed, open your browser at http://localhost:3000 (or your chosen port) to access the dashboard.

Configuration

ATS Tracker can be configured via command-line arguments, environment variables, or the configuration file.

Parameter CLI Argument Env Variable Default Description
Port port=3000 PORT 3000 HTTP server listening port
Token token=abc123 TOKEN auto-generated Master authentication token
Retention retention=10 RETENTION 10 Days to keep execution data
Refresh refresh=5 REFRESH 5 Heartbeat interval in seconds
Priority order: Command-line arguments override environment variables, which override config file values.

Configuration file format

The configuration file (ats-tracker.env) uses a simple key-value format:

PORT=3000
TOKEN=7b2e8411-9293-4e4b-84a5-3d5f346e91f1
RETENTION=10
REFRESH=5

Service Management

Linux
Windows

Check status

sudo systemctl status ats-tracker

Start / Stop / Restart

sudo systemctl start ats-tracker
sudo systemctl stop ats-tracker
sudo systemctl restart ats-tracker

View logs

# Last 100 lines
sudo journalctl -u ats-tracker -n 100

# Follow logs in real time
sudo journalctl -u ats-tracker -f

Uninstall

sudo systemctl stop ats-tracker
sudo systemctl disable ats-tracker
sudo rm /etc/systemd/system/ats-tracker.service
sudo systemctl daemon-reload

Check status

Get-Service ats-tracker

Start / Stop / Restart

Start-Service ats-tracker
Stop-Service ats-tracker
Restart-Service ats-tracker

Uninstall

Stop-Service ats-tracker
sc.exe delete ats-tracker

File Locations

Linux

Executable
/usr/bin/ats-tracker
Config file
/etc/ats-tracker/ats-tracker.env
Data directory
/var/lib/ats-tracker/
Database
/var/lib/ats-tracker/ats_storage/
Service file
/etc/systemd/system/ats-tracker.service
Logs
journalctl -u ats-tracker

Windows

Executable
%ProgramData%\ats-tracker\ats-tracker.exe
Config file
%ProgramData%\ats-tracker\ats-tracker.env
Data directory
%ProgramData%\ats-tracker\
Database
%ProgramData%\ats-tracker\ats_storage\
Service name
ats-tracker

API Reference

Method Endpoint Auth Description
GET / No Web dashboard
GET /settings No Settings page
GET /status Optional Health check — returns {"online":true,"authenticated":true/false}
GET /data Yes All executions and connected clients (JSON)
GET /api/config No Dashboard configuration
POST /api/config Yes Update dashboard configuration
GET /api/stats Yes Execution statistics
POST /query Yes Run database query
WS /ws Yes Client WebSocket (test agents)
WS /ws/dashboard No Dashboard WebSocket (live updates)

Authentication

Health check

The /status endpoint always responds (no auth required). If a Bearer token is provided, the response indicates whether it is valid:

# Without token
curl -s http://localhost:3000/status
# {"online":true,"authenticated":false}

# With valid token
curl -s -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/status
# {"online":true,"authenticated":true}

Protected endpoints

Endpoints like /data, /api/stats, and /query require a valid Bearer token. Requests without a valid token receive a 401 Unauthorized response:

curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/data

WebSocket

After connecting to /ws, the client must send an authentication message within 10 seconds:

// Client sends:
{"type": "auth", "token": "YOUR_TOKEN"}

// Server responds:
{"type": "auth_response", "success": true, "refresh": 5}
Keep your token safe. Anyone with the token can access all execution data and modify the dashboard configuration. The /ws/dashboard endpoint does not require a token and is read-only.

Troubleshooting

Port already in use

If port 3000 is taken, change it in the configuration or use the port= argument:

./ats-tracker port=8080 token=your_token

Service fails to start (Linux)

# Check logs for errors
sudo journalctl -u ats-tracker -n 50

# Verify config file is readable
sudo cat /etc/ats-tracker/ats-tracker.env

# Verify permissions
ls -la /var/lib/ats-tracker/

Service fails to start (Windows)

# Check service status
Get-Service ats-tracker | Format-List *

# Verify config file
Get-Content "$env:ProgramData\ats-tracker\ats-tracker.env"

Cannot connect to dashboard

401 Unauthorized on API calls

Reinstall / Upgrade

Download the latest binary and run the install command again. It will stop the existing service, preserve your configuration, and restart with the new version.