"""Konfiguration fuer das Verwaltungsportal.""" import os # Pfade BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "static") # Gemeinsame Datenbank (gleiche wie OSINT-Monitor) DB_PATH = os.environ.get("DB_PATH", "/mnt/gitea/osint-data/osint.db") # JWT (eigener Secret fuer Verwaltungsportal) JWT_SECRET = os.environ.get("PORTAL_JWT_SECRET") if not JWT_SECRET: raise RuntimeError("PORTAL_JWT_SECRET Umgebungsvariable muss gesetzt sein") JWT_ALGORITHM = "HS256" JWT_EXPIRE_HOURS = 8 # Server PORT = int(os.environ.get("PORTAL_PORT", "8892")) # SMTP (gleiche wie OSINT-Monitor) SMTP_HOST = os.environ.get("SMTP_HOST", "") SMTP_PORT = int(os.environ.get("SMTP_PORT", "587")) SMTP_USER = os.environ.get("SMTP_USER", "") SMTP_PASSWORD = os.environ.get("SMTP_PASSWORD", "") SMTP_FROM_EMAIL = os.environ.get("SMTP_FROM_EMAIL", "noreply@aegis-sight.de") SMTP_FROM_NAME = os.environ.get("SMTP_FROM_NAME", "AegisSight Verwaltung") SMTP_USE_TLS = os.environ.get("SMTP_USE_TLS", "true").lower() == "true" # Magic Link Base URL (fuer Einladungen Richtung OSINT-Monitor, NICHT Portal-Login) MAGIC_LINK_BASE_URL = os.environ.get("MAGIC_LINK_BASE_URL", "https://monitor.aegis-sight.de") MAGIC_LINK_EXPIRE_MINUTES = 10 # Magic-Link-Auth fuer das Verwaltungsportal SELBST # (frueher Passwort-Login, ab 2026-05-09 nur noch Magic-Link) ALLOWED_EMAIL = os.environ.get("PORTAL_ALLOWED_EMAIL", "info@aegis-sight.de") PORTAL_MAGIC_LINK_BASE_URL = os.environ.get( "PORTAL_MAGIC_LINK_BASE_URL", "https://monitor-verwaltung.aegis-sight.de" ) PORTAL_MAGIC_LINK_EXPIRE_MINUTES = int( os.environ.get("PORTAL_MAGIC_LINK_EXPIRE_MINUTES", "10") ) # Source Discovery (geteilte Config mit OSINT-Monitor) CLAUDE_PATH = os.environ.get("CLAUDE_PATH", "/usr/local/bin/claude") CLAUDE_TIMEOUT = 300 MAX_FEEDS_PER_DOMAIN = 3 CLAUDE_MODEL_FAST = "claude-haiku-4-5-20251001" CLAUDE_MODEL_MEDIUM = "claude-sonnet-4-6" CLAUDE_MODEL_STANDARD = "claude-opus-4-7" # Health-Check (genutzt von shared/services/source_health.py + routers/sources.py) HEALTH_CHECK_USER_AGENT = os.environ.get( "HEALTH_CHECK_USER_AGENT", "Mozilla/5.0 (compatible; AegisSight-HealthCheck/1.0)", ) HEALTH_CHECK_TIMEOUT_S = float(os.environ.get("HEALTH_CHECK_TIMEOUT_S", "15.0"))