Files
Brancheneinstufung2/docker-compose.yml
Floke 05753edbb1 fix(gtm-architect): Stabilize Docker environment and fix frontend
- Refactor Docker build process for gtm-app to ensure reliability
- Correct volume mounts and build context in docker-compose.yml to prevent stale code
- Fix frontend 404 error by using relative paths in index.html
- Ensure API key is correctly mounted into the container
- Stabilize Node.js to Python data passing via explicit --data argument
- Update gtm_architect_documentation.md with extensive troubleshooting guide
2026-01-01 08:36:48 +00:00

109 lines
3.2 KiB
YAML

version: '3.8'
services:
# --- CENTRAL GATEWAY (Reverse Proxy with Auth) ---
proxy:
build:
context: .
dockerfile: Dockerfile.proxy
container_name: gemini-gateway
restart: unless-stopped
ports:
- "8090:80"
volumes:
- ./nginx-proxy.conf:/etc/nginx/nginx.conf
depends_on:
- dashboard
- b2b-app
- market-frontend
# --- DASHBOARD (Landing Page) ---
dashboard:
build:
context: ./dashboard
dockerfile: Dockerfile.dashboard
container_name: gemini-dashboard
restart: unless-stopped
# --- B2B MARKETING ASSISTANT ---
b2b-app:
build:
context: .
dockerfile: Dockerfile.b2b
container_name: b2b-assistant
restart: unless-stopped
volumes:
# Sideloading: Python Logic
- ./b2b_marketing_orchestrator.py:/app/b2b_marketing_orchestrator.py
- ./market_db_manager.py:/app/market_db_manager.py
# Sideloading: Server Logic
- ./b2b-marketing-assistant/server.cjs:/app/server.cjs
# Database Persistence
- ./b2b_projects.db:/app/b2b_projects.db
# Logs
- ./Log_from_docker:/app/Log_from_docker
# Keys
- ./gemini_api_key.txt:/app/gemini_api_key.txt
environment:
- PYTHONUNBUFFERED=1
- DB_PATH=/app/b2b_projects.db
# Port 3002 is internal only
# --- MARKET INTELLIGENCE BACKEND ---
market-backend:
build:
context: .
dockerfile: Dockerfile.market
container_name: market-backend
restart: unless-stopped
volumes:
# Sideloading: Python Logic & Config
- ./market_intel_orchestrator.py:/app/market_intel_orchestrator.py
- ./market_db_manager.py:/app/market_db_manager.py
- ./config.py:/app/config.py
- ./helpers.py:/app/helpers.py
# Sideloading: Server Logic
- ./general-market-intelligence/server.cjs:/app/general-market-intelligence/server.cjs
# Database Persistence
- ./market_intelligence.db:/app/market_intelligence.db
# Logs & Keys
- ./Log:/app/Log
- ./gemini_api_key.txt:/app/gemini_api_key.txt
- ./serpapikey.txt:/app/serpapikey.txt
environment:
- PYTHONUNBUFFERED=1
- DB_PATH=/app/market_intelligence.db
# Port 3001 is internal only
# --- MARKET INTELLIGENCE FRONTEND ---
market-frontend:
build:
context: ./general-market-intelligence
dockerfile: Dockerfile
container_name: market-frontend
restart: unless-stopped
depends_on:
- market-backend
# Port 80 is internal only
gtm-app:
build:
context: .
dockerfile: gtm-architect/Dockerfile
container_name: gtm-architect
restart: unless-stopped
ports:
- "3005:3005"
volumes:
# Sideloading for live development
- ./gtm_architect_orchestrator.py:/app/gtm_architect_orchestrator.py
- ./gtm-architect/server.cjs:/app/server.cjs
- ./helpers.py:/app/helpers.py
- ./config.py:/app/config.py
# Database Persistence
- ./gtm_projects.db:/app/gtm_projects.db
# Mount the API key to the location expected by config.py
- ./gemini_api_key.txt:/app/api_key.txt
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- SERPAPI_API_KEY=${SERPAPI_API_KEY}