From 36252f4ea2d5da2dd5c528c39165773d5ff1f728 Mon Sep 17 00:00:00 2001 From: Floke Date: Sun, 8 Mar 2026 15:43:03 +0000 Subject: [PATCH] [30388f42] docs: Finalize relocation plan and streamline root README --- RELOCATION.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- readme.md | 13 +++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/RELOCATION.md b/RELOCATION.md index c1060523..184d57e3 100644 --- a/RELOCATION.md +++ b/RELOCATION.md @@ -19,6 +19,27 @@ Diese Ports müssen auf der Firewall für den eingehenden Verkehr zur VM `10.10. --- +### **Port-Mapping (docker-compose.yml)** +Die folgende Tabelle listet alle Host-Ports auf, die durch die `docker-compose.yml` gebunden werden. Diese sind die Ports, die auf `docker1` lauschen werden. + +| Host-Port | Ziel-Dienst | Zweck / Notiz | +| :--- | :--- | :--- | +| **8090** | `nginx` (Gateway) | Zentraler Zugang (Intranet) | +| **8000** | `company-explorer` | API (intern) | +| **8003** | `connector-superoffice`| Webhook (Public) | +| **8501** | `lead-engine` | UI (intern) | +| **8004** | `lead-engine` | API (intern) | +| **8092** | `b2b-marketing-assistant`| UI/API (Intranet) | +| **8093** | `content-engine` | UI/API (Intranet) | +| **8094** | `gtm-architect` | UI/API (Intranet) | +| **8096** | `heatmap-frontend` | UI (Intranet) | +| **8002** | `heatmap-backend` | API (intern) | +| **8097** | `competitor-analysis` | UI/API (Intranet) | +| **8098** | `market-intelligence` | UI/API (Intranet) | +| **8001** | `transcription-tool` | UI/API (Intranet) | + +--- + #### **Teil 2: Netzwerk-Architektur (Intern)** * **DNS Resolver:** In Nginx konfiguriert (`resolver 127.0.0.11`). @@ -109,4 +130,30 @@ docker run --rm -v explorer_db_data:/data -v $(pwd):/backup alpine sh -c "cd /da **Phase 3: Verifizierung** 1. [ ] Check Kalender-Lesen: `docker exec lead-engine python /app/trading_twins/test_calendar_logic.py` -2. [ ] Check GTM Architect: `https://10.10.81.2:8090/gtm/` \ No newline at end of file +2. [ ] Check GTM Architect: `https://10.10.81.2:8090/gtm/` + +--- + +### **Anhang A: Post-Deployment Port Check** +Führen Sie dieses Skript auf einem Client-Rechner aus (nicht auf `docker1` selbst), um die Erreichbarkeit der freigegebenen Ports zu testen. Ersetzen Sie `TARGET_IP` durch `10.10.81.2`. + +```bash +#!/bin/bash +TARGET_IP="10.10.81.2" +PORTS_INTRANET=(8090 3000 2222 8092 8093 8094 8096 8097 8098 8001) +PORTS_PUBLIC=(8003 5678) + +echo "--- Testing Intranet Ports on $TARGET_IP ---" +for port in "${PORTS_INTRANET[@]}"; do + if nc -z -w 2 $TARGET_IP $port; then + echo "✅ Port $port is OPEN" + else + echo "❌ Port $port is CLOSED" + fi +done + +echo -e "\n--- Testing Public Ports on $TARGET_IP (von extern prüfen!) ---" +for port in "${PORTS_PUBLIC[@]}"; do + echo " - Bitte prüfen Sie Port $port manuell von außerhalb des Netzwerks." +done +``` \ No newline at end of file diff --git a/readme.md b/readme.md index 55aa8db6..19872a6f 100644 --- a/readme.md +++ b/readme.md @@ -51,6 +51,19 @@ Die GTM Engine basiert auf einer Microservice-Architektur, orchestriert via `doc * **Volumes:** Alle kritischen Daten werden in benannten Docker-Volumes gespeichert. * **Secrets:** Konfiguration erfolgt ausschließlich über eine zentrale `.env` Datei. Hardcoded Credentials sind nicht zulässig. +## ✅ Qualitätssicherung (Testing) + +Um die Stabilität des Systems zu gewährleisten, wurden zwei Mechanismen implementiert: + +### System-Health-Check +Das Skript `health_check.sh` prüft den Docker-Status und die internen API-Endpunkte aller laufenden Dienste. Es ist der schnellste Weg, um zu verifizieren, ob das Gesamtsystem betriebsbereit ist. +```bash +bash health_check.sh +``` + +### Automatisierte Tests +Für die kritischen Backend-Dienste existieren automatisierte Integrationstests (`pytest`). Diese mocken externe APIs und validieren die Kernlogik. Detaillierte Anweisungen zur Ausführung finden Sie in [➡️ `docs/TESTING.md`](./docs/TESTING.md). + --- ## 🚀 Deployment (Quickstart)