fix: Docker-Compose FINAL FINAL FIX: YAML-Reparatur und Konsolidierung -- Manuelle Bereinigung nach Desaster

This commit is contained in:
2026-03-06 22:15:59 +01:00
parent a39efeb5b1
commit 4224206b24

View File

@@ -37,6 +37,7 @@ services:
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ./heatmap-tool/backend:/app - ./heatmap-tool/backend:/app
- ./data:/data # Mount for database
heatmap-frontend: heatmap-frontend:
build: ./heatmap-tool/frontend build: ./heatmap-tool/frontend
@@ -47,20 +48,6 @@ services:
depends_on: depends_on:
- heatmap-backend - heatmap-backend
# --- AGENT (moltbot) ---
# moltbot: # Moltbot ist oft auskommentiert, um Port-Konflikte zu vermeiden, da der Agent oft separat läuft.
# build:
# context: .
# dockerfile: Dockerfile.moltbot
# container_name: moltbot
# restart: unless-stopped
# ports:
# - "18789:18789"
# command: /app/packages/clawdbot/node_modules/.bin/clawdbot gateway --port 18789 --allow-unconfigured
# volumes:
# - moltbot_data:/home/node/.clawd
# --- DASHBOARD --- # --- DASHBOARD ---
dashboard: dashboard:
image: nginx:alpine image: nginx:alpine
@@ -84,11 +71,8 @@ services:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
volumes: volumes:
- ./company-explorer:/app - ./company-explorer:/app
- ./companies_v3_fixed_2.db:/app/companies_v3_fixed_2.db - ./data:/data # Mount for database
- ./gemini_api_key.txt:/app/gemini_api_key.txt - ./Log_from_docker:/app/logs_debug # Logging Mount
- ./serpapikey.txt:/app/serpapikey.txt
- ./notion_token.txt:/app/notion_token.txt
- ./Log_from_docker:/app/logs_debug
transcription-app: transcription-app:
build: build:
@@ -99,52 +83,48 @@ services:
volumes: volumes:
- ./transcription-tool/backend:/app/backend - ./transcription-tool/backend:/app/backend
- ./transcription-tool/frontend/dist:/app/frontend/dist # Mount Frontend Build for Live Updates - ./transcription-tool/frontend/dist:/app/frontend/dist # Mount Frontend Build for Live Updates
- ./transcripts.db:/app/transcripts.db - ./data:/data # Mount for database
- ./uploads_audio:/app/uploads_audio - ./uploads_audio:/app/uploads_audio
- ./gemini_api_key.txt:/app/gemini_api_key.txt
environment: environment:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
DATABASE_URL: "sqlite:////app/transcripts.db" DATABASE_URL: "sqlite:////data/transcripts.db" # Updated path for /data mount
ports: ports:
- "8001:8001" - "8001:8001"
b2b-app: b2b-app:
build: build:
context: . context: .
dockerfile: Dockerfile.b2b dockerfile: dockerfiles/Dockerfile.b2b
container_name: b2b-assistant container_name: b2b-assistant
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ./b2b_marketing_orchestrator.py:/app/b2b_marketing_orchestrator.py - ./b2b-marketing-assistant/b2b_marketing_orchestrator.py:/app/b2b_marketing_orchestrator.py
- ./market_db_manager.py:/app/market_db_manager.py - ./market_db_manager.py:/app/market_db_manager.py
- ./b2b-marketing-assistant/server.cjs:/app/server.cjs - ./b2b-marketing-assistant/server.cjs:/app/server.cjs
- ./b2b_projects.db:/app/b2b_projects.db - ./data:/data # Mount for database
- ./Log_from_docker:/app/Log_from_docker - ./Log_from_docker:/app/Log_from_docker
- ./gemini_api_key.txt:/app/gemini_api_key.txt
environment: environment:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
DB_PATH: "/app/b2b_projects.db" DB_PATH: "/data/b2b_projects.db" # Updated path for /data mount
# Port 3002 is internal only # Port 3002 is internal only
market-backend: market-backend:
build: build:
context: . context: .
dockerfile: Dockerfile.market dockerfile: dockerfiles/Dockerfile.market
container_name: market-backend container_name: market-backend
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ./market_intel_orchestrator.py:/app/market_intel_orchestrator.py - ./general-market-intelligence/market_intel_orchestrator.py:/app/general-market-intelligence/market_intel_orchestrator.py
- ./market_db_manager.py:/app/market_db_manager.py - ./market_db_manager.py:/app/market_db_manager.py
- ./config.py:/app/config.py - ./config.py:/app/config.py
- ./helpers.py:/app/helpers.py - ./helpers.py:/app/helpers.py # Helper is in root, should be mounted as file
- ./general-market-intelligence/server.cjs:/app/general-market-intelligence/server.cjs - ./general-market-intelligence/server.cjs:/app/general-market-intelligence/server.cjs
- ./market_intelligence.db:/app/market_intelligence.db - ./data:/data # Mount for database
- ./Log:/app/Log - ./Log:/app/Log
- ./gemini_api_key.txt:/app/gemini_api_key.txt
- ./serpapikey.txt:/app/serpapikey.txt
environment: environment:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
DB_PATH: "/app/market_intelligence.db" DB_PATH: "/data/market_intelligence.db" # Updated path for /data mount
# Port 3001 is internal only # Port 3001 is internal only
market-frontend: market-frontend:
@@ -166,17 +146,15 @@ services:
volumes: volumes:
- ./gtm-architect:/app/gtm-architect - ./gtm-architect:/app/gtm-architect
- ./gtm-architect/server.cjs:/app/server.cjs - ./gtm-architect/server.cjs:/app/server.cjs
- ./gtm_architect_orchestrator.py:/app/gtm_architect_orchestrator.py - ./gtm-architect/gtm_architect_orchestrator.py:/app/gtm_architect_orchestrator.py
- ./helpers.py:/app/helpers.py - ./helpers.py:/app/helpers.py # Helper is in root, should be mounted as file
- ./config.py:/app/config.py - ./config.py:/app/config.py
- ./gtm_db_manager.py:/app/gtm_db_manager.py - ./gtm_db_manager.py:/app/gtm_db_manager.py
- ./gtm_projects.db:/app/gtm_projects.db - ./data:/data # Mount for database
- ./Log_from_docker:/app/Log_from_docker - ./Log_from_docker:/app/Log_from_docker
- ./gemini_api_key.txt:/app/gemini_api_key.txt
- ./serpapikey.txt:/app/serpapikey.txt
environment: environment:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
DB_PATH: "/app/gtm_projects.db" DB_PATH: "/data/gtm_projects.db" # Updated path for /data mount
# Port 3005 is internal only # Port 3005 is internal only
content-app: content-app:
@@ -188,19 +166,17 @@ services:
volumes: volumes:
- ./content-engine:/app/content-engine - ./content-engine:/app/content-engine
- ./content-engine/server.cjs:/app/server.cjs - ./content-engine/server.cjs:/app/server.cjs
- ./content-engine/content_orchestrator.py:/app/content_orchestrator.py - ./content-engine/content_orchestrator.py:/app/content-engine/content_orchestrator.py
- ./content-engine/content_db_manager.py:/app/content_db_manager.py - ./content-engine/content_db_manager.py:/app/content-engine/content_db_manager.py
- ./content_engine.db:/app/content_engine.db - ./data:/data # Mount for database
- ./helpers.py:/app/helpers.py - ./helpers.py:/app/helpers.py # Helper is in root, should be mounted as file
- ./config.py:/app/config.py - ./config.py:/app/config.py
- ./gtm_projects.db:/app/gtm_projects.db - ./data/gtm_projects.db:/data/gtm_projects.db # GTM DB also mounted here
- ./Log_from_docker:/app/Log_from_docker - ./Log_from_docker:/app/Log_from_docker
- ./gemini_api_key.txt:/app/gemini_api_key.txt
- ./serpapikey.txt:/app/serpapikey.txt
environment: environment:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
DB_PATH: "/app/content_engine.db" DB_PATH: "/data/content_engine.db" # Updated path for /data mount
GTM_DB_PATH: "/app/gtm_projects.db" GTM_DB_PATH: "/data/gtm_projects.db" # Updated path for /data mount
competitor-analysis: competitor-analysis:
build: build:
@@ -212,31 +188,32 @@ services:
- 8.8.8.8 - 8.8.8.8
- 8.8.4.4 - 8.8.4.4
volumes: volumes:
- ./competitor-analysis-app/competitor_analysis_orchestrator.py:/app/competitor_analysis_orchestrator.py - ./competitor-analysis-app/competitor_analysis_orchestrator.py:/app/competitor-analysis-app/competitor_analysis_orchestrator.py # Explicit path
- ./gemini_api_key.txt:/app/gemini_api_key.txt - ./data:/data # Mount for database (if needed by orchestrator)
- ./Log_from_docker:/app/Log_from_docker - ./Log_from_docker:/app/Log_from_docker
environment: environment:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
GEMINI_API_KEY_FILE: "/app/gemini_api_key.txt" # GEMINI_API_KEY_FILE: "/app/gemini_api_key.txt" # Removed, API keys from .env
# Port 8000 is internal only # Port 8000 is internal only
connector-superoffice: connector-superoffice:
build: build:
context: ./connector-superoffice context: .
dockerfile: Dockerfile dockerfile: connector-superoffice/Dockerfile # Build context is now root
container_name: connector-superoffice container_name: connector-superoffice
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8003:8000" # Expose internal 8000 to host 8003 (8002 was taken) - "8003:8000" # Expose internal 8000 to host 8003 (8002 was taken)
volumes: volumes:
- ./connector-superoffice:/app - ./connector-superoffice:/app/connector-superoffice # Mount subfolder to its own path in /app
- ./gemini_api_key.txt:/app/gemini_api_key.txt - ./data:/data # Data mount
- ./connector_queue.db:/app/connector_queue.db - ./config.py:/app/config.py # Root config needs to be mounted
- ./helpers.py:/app/helpers.py # Root helper needs to be mounted
environment: environment:
PYTHONUNBUFFERED: "1" PYTHONUNBUFFERED: "1"
API_USER: "admin" API_USER: "admin"
API_PASSWORD: "gemini" API_PASSWORD: "gemini"
DB_PATH: "/app/connector_queue.db" DB_PATH: "/data/connector_queue.db" # Updated path for /data mount
COMPANY_EXPLORER_URL: "http://company-explorer:8000" COMPANY_EXPLORER_URL: "http://company-explorer:8000"
# Pass through SO credentials from host .env # Pass through SO credentials from host .env
SO_CLIENT_ID: "${SO_CLIENT_ID}" SO_CLIENT_ID: "${SO_CLIENT_ID}"
@@ -254,7 +231,7 @@ services:
PGID: "1000" # Group ID (anpassen falls nötig) PGID: "1000" # Group ID (anpassen falls nötig)
TZ: "Europe/Berlin" TZ: "Europe/Berlin"
SUBDOMAINS: "floke,floke-ai,floke-gitea,floke-ha,floke-n8n" SUBDOMAINS: "floke,floke-ai,floke-gitea,floke-ha,floke-n8n"
TOKEN: "2e073b27-971e-4847-988c-73ad23e648d4" # Actual token is in .env or config TOKEN: "${DUCKDNS_TOKEN}" # From .env
restart: unless-stopped restart: unless-stopped
dns-monitor: dns-monitor:
@@ -272,4 +249,4 @@ services:
restart: unless-stopped restart: unless-stopped
volumes: volumes:
moltbot_data: {} # Volume for moltbot data, even if service is commented out. moltbot_data: {} # Volume for moltbot data, even if service is commented out.