Setup Guide

Choose your deployment mode and configure SeqMaster for your production environment

Deployment Modes

SeqMaster supports three deployment modes, each suited for different production environments. Every tester always works offline-first β€” tests run regardless of network connectivity.

πŸ”§

Standalone

Each tester is independent. Users, sequences, and results are managed locally.

βœ“ No network required
βœ“ Zero configuration
βœ“ 1–5 testers
πŸ”—

Hybrid

Testers work standalone but sync results, sequences, and users to a Central server when connected.

βœ“ Offline-first operation
βœ“ Aggregated analytics
βœ“ 5–20 testers
🏒

Central

Full centralized management with cross-site analytics, user management, and sequence distribution.

βœ“ Multi-site management
βœ“ ERP/MES integration
βœ“ 20+ testers

πŸ’‘ Which mode should I choose?

  • β€’ Just getting started with 1–3 testers? β†’ Standalone
  • β€’ Need a central overview of test results across testers? β†’ Hybrid
  • β€’ Managing multiple sites or need ERP integration? β†’ Central
  • β€’ You can always upgrade later β€” Standalone β†’ Hybrid β†’ Central.

Standalone Setup

Standalone mode is the default. Each Raspberry Pi tester operates independently with its own database of users, sequences, and results. No external server is needed.

Step 1: Install SeqMaster

Download the release package and install on your Raspberry Pi 5:

# Transfer the package to your Pi, then:
tar -xzf seqmaster-*.tar.gz
cd seqmaster-*
sudo ./install.sh

The installer sets up Python, Nginx, and auto-start services. Takes 2–5 minutes.

Step 2: First Login

Connect a monitor/keyboard to the Pi or access it over the network. Open a browser and go to the Pi's IP address.

http://<pi-ip-address>

The default admin credentials are admin / admin. You will be prompted to change the password on first login.

Step 3: Configure Your Station

Optional configuration via environment variables:

# ~/.seqmaster/.env
TESTER_ID="Station-01"
SECRET_KEY="your-random-secret-key"

Step 4: Connect Instruments

Plug in your test instruments via USB. SeqMaster auto-detects supported devices (multimeters, power supplies, oscilloscopes, DAQ boards).

See Hardware Drivers for supported models and configuration.

βœ“ That's it! Your standalone station is ready to run test sequences.

Hybrid Setup

Hybrid mode adds sync capabilities to your standalone testers. Each tester works independently but pushes results, sequences, and user data to a Central server when network is available. All testers continue working during network outages β€” data syncs automatically when connectivity returns.

Architecture

Tester 1 (Pi)
β†’
Central Server
←
Tester 2 (Pi)

Push-only sync: testers push data to Central

Step 1: Deploy Central Server

Set up the Central server on a Linux machine or cloud VPS with Docker:

# On your server (VPS, on-prem Linux, etc.)
git clone https://github.com/your-org/seqmaster-central.git
cd seqmaster-central

# Configure environment
cp .env.example .env
nano .env # Set SECRET_KEY, DATABASE_URL, SYNC_API_KEY

# Start with Docker Compose
docker compose up -d

See Central Server docs for detailed configuration.

Step 2: Generate a Sync API Key

Create a secure API key for tester-to-central communication:

python3 -c "import secrets; print(secrets.token_urlsafe(32))"

Set this key as SYNC_API_KEY on both the Central server and each tester.

Step 3: Configure Each Tester

On each Raspberry Pi tester, add the Central connection settings:

# ~/.seqmaster/.env
TESTER_ID="Station-01"
SECRET_KEY="your-random-secret-key"

# Central sync settings
CENTRAL_URL="https://central.yourcompany.com"
SYNC_API_KEY="your-generated-api-key"
SYNC_INTERVAL="60" # seconds between sync attempts

Step 4: Verify Sync

Restart the tester service and check that sync is working:

# Restart the service
sudo systemctl restart seqmaster

# Check sync status via API
curl http://localhost:8000/api/v1/health

The health endpoint shows sync status. Run a test β€” results should appear on the Central dashboard within the sync interval.

βœ“ Your hybrid setup is active. Testers sync data to Central automatically.

Central Setup

Full Central mode extends Hybrid with centralized user management, sequence distribution, cross-site analytics, and optional ERP/MES webhook integrations.

What's different from Hybrid?

  • β€’ User management β€” Create users on Central, they sync to all testers
  • β€’ Sequence distribution β€” Upload sequences to Central, testers auto-download them
  • β€’ Cross-site analytics β€” Compare yield across all sites and testers
  • β€’ Webhooks β€” Push results to ERP, MES, or custom systems in real-time

Step 1: Deploy Central with Full Config

Deploy Central with all features enabled:

# .env for Central server
SECRET_KEY="your-strong-random-secret"
DATABASE_URL="postgresql://user:pass@db:5432/seqmaster"
SYNC_API_KEY="shared-api-key-for-all-testers"

# Optional: Webhook for ERP/MES integration
WEBHOOK_URL="https://erp.yourcompany.com/api/test-results"
WEBHOOK_SECRET="webhook-signing-secret"

# Start
docker compose up -d

Step 2: Create Users on Central

Create user accounts on the Central server. These will automatically sync to all connected testers:

# Create a user via Central API
curl -X POST https://central.yourcompany.com/api/v1/users \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "operator1", "role": "operator", "password": "secure-password"}'

Step 3: Upload Sequences to Central

Upload test sequences to Central for automatic distribution to testers:

# Upload a sequence file
curl -X POST https://central.yourcompany.com/api/v1/sequences \
  -H "X-API-Key: $SYNC_API_KEY" \
  -F "file=@pcb_functional_test.yaml"

Step 4: Configure Testers

Each tester needs the same .env configuration as Hybrid mode (see Hybrid Setup, Step 3). Testers automatically pull new sequences and user accounts from Central.

βœ“ Full Central management is now active. Access the Central dashboard for cross-site analytics.

WiFi Captive Portal

SeqMaster includes a WiFi hotspot with a captive portal for initial setup. When you power on a fresh Pi, it broadcasts a WiFi network. Connecting to it opens a setup wizard in your phone or laptop browser β€” no keyboard or monitor needed on the Pi.

How It Works

  1. Power on your SeqMaster Pi β€” it automatically starts a WiFi hotspot
  2. Connect to the SeqMaster-XXXX WiFi network from your phone or laptop
  3. A captive portal popup appears automatically (like hotel/airport WiFi)
  4. The portal shows your Pi's network info and lets you choose a deployment mode
  5. For Hybrid/Central: enter your Central server URL and API key
  6. Settings are saved β€” connect via Ethernet for full access to the web interface

Portal Setup Wizard

The captive portal setup wizard guides you through choosing your deployment mode:

SeqMaster Setup Portal

Choose how this tester should operate:

πŸ”§ Standalone
Independent operation, no network needed
πŸ”— Hybrid
Standalone + sync to Central
🏒 Central
Full centralized management

Disabling the Portal

After initial setup, you can disable the WiFi hotspot:

# Disable the hotspot via the web interface
# Settings β†’ Network β†’ WiFi Hotspot β†’ Off

# Or manually:
touch ~/.seqmaster/portal_disabled

Environment Variables

Complete list of configuration variables for the tester runtime. Set these in ~/.seqmaster/.env

Variable Default Description
TESTER_ID hostname Unique identifier for this tester
SECRET_KEY auto-generated JWT signing key. Set a secure random value for production.
CENTRAL_URL none Central server URL. Enables sync when set.
SYNC_API_KEY none Shared API key for tester↔Central authentication.
SYNC_INTERVAL 60 Seconds between sync attempts.
LOG_LEVEL INFO Logging verbosity (DEBUG, INFO, WARNING, ERROR).
LICENSE_FILE ~/.seqmaster/license.sig Path to license file. Runs in demo mode without it.