"""Zentrale Konfiguration (Env-getrieben).""" from __future__ import annotations import base64 import hashlib import os from pathlib import Path ROOT = Path(__file__).resolve().parent.parent if not os.getenv("ONYSCRIBE_SKIP_DOTENV"): # lokale Entwicklung: .env im Projektordner einlesen (Docker/Coolify setzen die Env direkt) try: from dotenv import load_dotenv load_dotenv(ROOT / ".env", override=False) # echte Umgebungsvariablen haben Vorrang except ImportError: pass DATA = ROOT / ".data" DATA.mkdir(exist_ok=True) DATABASE_URL = os.getenv("DATABASE_URL", f"sqlite:///{DATA / 'onyscribe-admin.db'}") # Entwicklungs-Fallback: abgeleiteter Key. In Produktion SECRET_KEY setzen! _raw = os.getenv("SECRET_KEY", "").strip() SECRET_KEY = _raw or base64.urlsafe_b64encode(hashlib.sha256(b"onyscribe-admin-dev").digest()).decode() AUTH_ENABLED = os.getenv("AUTH_ENABLED", "false").lower() == "true" # Vendored Snapshot des Plattform-Cores (Preview führt den echten Core aus) PLATFORM_DIR = Path(os.getenv("PLATFORM_DIR", ROOT / "vendor" / "platform")) PREVIEW_CACHE = ROOT / ".preview-cache" PREVIEW_CACHE.mkdir(exist_ok=True) # Pfad zur bestehenden transkript-platform (nur für den Importer) LEGACY_PLATFORM = Path(os.getenv("LEGACY_PLATFORM", ROOT.parent / "transkript-platform")) APP_NAME = "Onyscribe Admin"