Skip to content

Configuration

Griffen Fargo edited this page May 14, 2026 · 4 revisions

Configuration

All Lights Pi configuration is managed through environment variables in the .env file.

Environment Variables

Copy the example file to get started:

cp .env.example .env

Required Variables

Variable Description Example
PI_HOST Hostname or IP of your Pi lights.local
PI_USER SSH username pi
WIFI1_SSID Primary WiFi network name MyNetwork
WIFI1_PSK Primary WiFi password secret123

Optional Variables

Variable Description Default
WIFI2_SSID Secondary WiFi network
WIFI2_PSK Secondary WiFi password
QLC_WORKSPACE Path to QLC+ workspace file workspace.qxw
DMX_DEVICE DMX device path /dev/dmx0

QLC+ Configuration

QLC+ workspaces (.qxw files) define your fixture layout, scenes, and show sequences.

Deploying a Workspace

./lightsctl.sh deploy-workspace my-show.qxw

Pulling the Current Workspace

./lightsctl.sh pull-workspace

Network Configuration

Static IP

For production setups, assign a static IP:

./lightsctl.sh static-ip 192.168.1.100/24 192.168.1.1

Dual WiFi

Configure a backup WiFi network by setting WIFI2_SSID and WIFI2_PSK in your .env file. The Pi will automatically fall back to the secondary network if the primary is unavailable.

Security Hardening

The harden command applies security best practices:

./lightsctl.sh harden

This enables:

  • UFW firewall (allows SSH + QLC+ web UI only)
  • Hardware watchdog (auto-reboot on hang)
  • Unattended security upgrades
  • USB device permissions for ENTTEC

Clone this wiki locally