-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Griffen Fargo edited this page May 15, 2026
·
4 revisions
All Lights Pi configuration is managed through environment variables in the .env file.
Copy the example file to get started:
cp .env.example .env| 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 |
| Variable | Description | Default |
|---|---|---|
PI_HOSTNAME |
mDNS hostname set on the Pi | lights |
QLC_PORT |
QLC+ web UI port | 9999 |
SSH_KEY |
Path to SSH private key | — |
BACKUP_STORAGE |
Local backup directory | ./backups |
WIFI2_SSID |
Secondary WiFi network | — |
WIFI2_PSK |
Secondary WiFi password | — |
AI_PROVIDER |
AI backend: openai, anthropic, or ollama
|
openai |
AI_API_KEY |
API key for the chosen provider | — |
AI_MODEL |
Model name (e.g. gpt-4.1) |
gpt-4.1 |
AI_SCENE_STYLE |
Default scene style | complete |
Note: Use
PI_HOSTNAME, notHOSTNAME— the latter is a macOS shell builtin.
QLC+ workspaces (.qxw files) define your fixture layout, scenes, and show sequences.
./lightsctl.sh deploy-workspace my-show.qxw./lightsctl.sh pull-workspaceFor production setups, assign a static IP:
./lightsctl.sh static-ip 192.168.1.100/24 192.168.1.1Configure 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.
The harden command applies security best practices:
./lightsctl.sh hardenThis enables:
- UFW firewall (allows SSH + QLC+ web UI only)
- Hardware watchdog (auto-reboot on hang)
- Unattended security upgrades
- USB device permissions for ENTTEC