# Infrastructure & Operations ## 🏗️ Konsolidierte Architektur & Web-Anwendungen Um die Wartbarkeit zu erhöhen, wurden diverse Einzeltools (B2B Marketing Assistant, Market Intelligence, GTM Architect) in eine konsolidierte Docker-Architektur überführt. ### Architektur im Überblick Die Lösung basiert auf einem zentralen **Nginx-Gateway** (`gateway_proxy`), das alle Anfragen auf Port **8090** entgegennimmt und an die entsprechenden Container weiterleitet. * **Zentraler & Sicherer Zugriff:** Nur ein Port muss extern freigegeben werden. * **Einheitliche Auth:** Basic Auth schützt alle internen Tools. * **Routing-Tabelle:** * `/` -> Dashboard * `/ce/` -> Company Explorer * `/lead/` -> Lead Engine * `/market/` -> Market Intelligence * ... (siehe `readme.md` für vollständige Liste) ### Microservice-Pattern Viele der neuen Apps (GTM Architect, Market Intel) nutzen ein "Self-Contained" Pattern: * **Frontend:** Vite/React (gebaut im Dockerfile). * **Backend:** Node.js Bridge (`server.cjs`), die Python-Skripte orchestriert. * **Vorteil:** Ein einziger Container pro Tool, der sowohl UI als auch Logik bereitstellt. --- ## 🌐 DNS & Connectivity (DuckDNS) Um eine stabile Erreichbarkeit der Dienste auch bei wechselnden IPs (DynDNS) zu gewährleisten, wurde eine Docker-basierte Lösung implementiert. * **Service:** `duckdns` (LinuxServer.io Container). * **Funktion:** Aktualisiert die Domain `floke-ai.duckdns.org` alle 5 Minuten mit der aktuellen öffentlichen IP. * **Monitoring:** Ein Sidecar-Container `dns-monitor` prüft die Auflösung und warnt bei Fehlern. --- ## 📂 Daten-Persistenz (Volumes) Um Datenverlust zu vermeiden und Dateisystem-Berechtigungskonflikte zu umgehen, nutzen alle Dienste **benannte Docker-Volumes**. | Volume Name | Dienst / Inhalt | | :--- | :--- | | `explorer_db_data` | Company Explorer (SQLite Datenbank) | | `connector_db_data` | Connector Queue (Eingehende CRM Events) | | `lead_engine_data` | Lead Engine (State & Persistence) | | `gtm_architect_data` | GTM Strategien (Projekte) | | `b2b_marketing_data` | B2B Marketing Assistant Analysen | | `content_engine_data` | Content Engine Projekt-Entwürfe | | `market_intel_data` | Market Intelligence Projekte | | `competitor_analysis_data` | Competitor Analysis Berichte | | `transcription_uploads` | Meeting Assistant (Audio-Uploads) | --- ## 🛠️ Port-Mapping (Übersicht) Die Dienste kommunizieren intern über den Standard-Port des jeweiligen Frameworks (meist 8000, 3000 oder 3005). | Host-Port | Ziel-Dienst | Routing | | :--- | :--- | :--- | | **8090** | `gateway_proxy` | `/` | | **8000** | `company-explorer` | `/ce/` | | **8501** | `lead-engine` | `/lead/` | | **3005** | `gtm-architect` | `/gtm/` | | **...** | ... | ... | Siehe auch: [DuckDNS Setup](./duckdns_setup.md) (falls vorhanden).