docs/dev: sync backend rework, MQTT, and devcontainer hygiene
README: add Versioning (unified SemVer, pre-releases, build metadata); emphasize UTC handling and streaming endpoint; add Dev Container notes (UI-only Remote Containers, npm ci, idempotent aliases) TECH-CHANGELOG: backend rework notes (serialization camelCase, UTC normalization, streaming metadata); add component build metadata template (image tags/SHAs) Copilot instructions: integrate maintenance guardrails; reinforce UTC and camelCase conventions; document MQTT topics and scheduler retained payload behavior Devcontainer: map Remote Containers to UI; remove in-container install; switch to npm ci; make aliases idempotent
This commit is contained in:
@@ -3,10 +3,22 @@ import os
|
||||
from dotenv import load_dotenv
|
||||
import bcrypt
|
||||
|
||||
# .env laden
|
||||
load_dotenv()
|
||||
# .env laden (nur in Dev)
|
||||
if os.getenv("ENV", "development") == "development":
|
||||
load_dotenv()
|
||||
|
||||
DB_URL = f"mysql+pymysql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@{os.getenv('DB_HOST')}:3306/{os.getenv('DB_NAME')}"
|
||||
# Use same logic as database.py: prefer DB_CONN, fallback to individual vars
|
||||
DB_URL = os.getenv("DB_CONN")
|
||||
if not DB_URL:
|
||||
DB_USER = os.getenv("DB_USER", "infoscreen_admin")
|
||||
DB_PASSWORD = os.getenv("DB_PASSWORD")
|
||||
# In Docker Compose: DB_HOST will be 'db' from env
|
||||
# In dev container: will be 'localhost' from .env
|
||||
DB_HOST = os.getenv("DB_HOST", "db") # Default to 'db' for Docker Compose
|
||||
DB_NAME = os.getenv("DB_NAME", "infoscreen_by_taa")
|
||||
DB_URL = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:3306/{DB_NAME}"
|
||||
|
||||
print(f"init_defaults.py connecting to: {DB_URL.split('@')[1] if '@' in DB_URL else DB_URL}")
|
||||
engine = create_engine(DB_URL, isolation_level="AUTOCOMMIT")
|
||||
|
||||
with engine.connect() as conn:
|
||||
@@ -53,6 +65,7 @@ with engine.connect() as conn:
|
||||
('video_autoplay', 'true', 'Autoplay (automatisches Abspielen) für Videos'),
|
||||
('video_loop', 'true', 'Loop (Wiederholung) für Videos'),
|
||||
('video_volume', '0.8', 'Standard Lautstärke für Videos (0.0 - 1.0)'),
|
||||
('holiday_banner_enabled', 'true', 'Ferienstatus-Banner auf Dashboard anzeigen'),
|
||||
]
|
||||
|
||||
for key, value, description in default_settings:
|
||||
|
||||
Reference in New Issue
Block a user