Add .env file support for UI client configuration
- Use python-dotenv to load environment variables - Add CONTROL_SERVER_URI environment variable for WebSocket connection - Create .env.example with configuration examples - Update Pipfile to include python-dotenv dependency - Allows easy configuration for running UI on desktop pointing to Pi
This commit is contained in:
9
.env.example
Normal file
9
.env.example
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Lighting Controller UI Client Configuration
|
||||||
|
|
||||||
|
# WebSocket URI for the control server
|
||||||
|
# For local development (running UI on same machine as control server):
|
||||||
|
CONTROL_SERVER_URI=ws://localhost:8765
|
||||||
|
|
||||||
|
# For remote connection (running UI on desktop, control server on Pi):
|
||||||
|
# Replace with your Raspberry Pi's IP address
|
||||||
|
# CONTROL_SERVER_URI=ws://10.1.1.117:8765
|
1
Pipfile
1
Pipfile
@@ -13,6 +13,7 @@ python-rtmidi = "*"
|
|||||||
pyaudio = "*"
|
pyaudio = "*"
|
||||||
aubio = "*"
|
aubio = "*"
|
||||||
websocket-client = "*"
|
websocket-client = "*"
|
||||||
|
python-dotenv = "*"
|
||||||
|
|
||||||
[dev-packages]
|
[dev-packages]
|
||||||
|
|
||||||
|
@@ -15,10 +15,14 @@ import logging
|
|||||||
from async_tkinter_loop import async_handler, async_mainloop
|
from async_tkinter_loop import async_handler, async_mainloop
|
||||||
import websockets
|
import websockets
|
||||||
import websocket
|
import websocket
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
# Load environment variables from .env file
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
CONFIG_FILE = "config.json"
|
CONFIG_FILE = "config.json"
|
||||||
CONTROL_SERVER_URI = "ws://localhost:8765"
|
CONTROL_SERVER_URI = os.getenv("CONTROL_SERVER_URI", "ws://localhost:8765")
|
||||||
|
|
||||||
# Dark theme colors
|
# Dark theme colors
|
||||||
bg_color = "#2e2e2e"
|
bg_color = "#2e2e2e"
|
||||||
|
Reference in New Issue
Block a user