feat(lead-engine): setup isolated webhook test environment [31f88f42]
Created a dedicated test setup for Smartlead webhooks using docker-compose.test.yml and nginx-proxy-test.conf. This ensures a stable, minimal environment. Updated lead-engine/README.md with comprehensive instructions for local testing and production requirements for the Wackler IT.
This commit is contained in:
89
docker-compose.test.yml
Normal file
89
docker-compose.test.yml
Normal file
@@ -0,0 +1,89 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# --- GATEKEEPER (NGINX) ---
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
container_name: gateway_proxy
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8090:80"
|
||||
volumes:
|
||||
- ./nginx-proxy-test.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./.htpasswd:/etc/nginx/.htpasswd:ro
|
||||
depends_on:
|
||||
dashboard:
|
||||
condition: service_started
|
||||
company-explorer:
|
||||
condition: service_healthy
|
||||
lead-engine:
|
||||
condition: service_started
|
||||
|
||||
# --- DASHBOARD (Required by Nginx) ---
|
||||
dashboard:
|
||||
image: nginx:alpine
|
||||
container_name: dashboard
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./dashboard:/usr/share/nginx/html:ro
|
||||
|
||||
# --- COMPANY-EXPLORER (Required by Lead-Engine) ---
|
||||
company-explorer:
|
||||
build:
|
||||
context: ./company-explorer
|
||||
dockerfile: Dockerfile
|
||||
container_name: company-explorer
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
API_USER: "admin"
|
||||
API_PASSWORD: "gemini"
|
||||
PYTHONUNBUFFERED: "1"
|
||||
DATABASE_URL: "sqlite:////data/companies_v3_fixed_2.db"
|
||||
GEMINI_API_KEY: "${GEMINI_API_KEY}"
|
||||
SERP_API_KEY: "${SERP_API}"
|
||||
NOTION_TOKEN: "${NOTION_API_KEY}"
|
||||
volumes:
|
||||
- ./company-explorer:/app
|
||||
- explorer_db_data:/data
|
||||
- ./Log_from_docker:/app/logs_debug
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000/docs"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
|
||||
# --- LEAD-ENGINE (Our Webhook Service) ---
|
||||
lead-engine:
|
||||
build:
|
||||
context: ./lead-engine
|
||||
dockerfile: Dockerfile
|
||||
container_name: lead-engine
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8501:8501" # UI (Streamlit)
|
||||
- "8004:8004" # API / Monitor
|
||||
- "8099:8004" # Direct Test Port
|
||||
environment:
|
||||
PYTHONUNBUFFERED: "1"
|
||||
GEMINI_API_KEY: "${GEMINI_API_KEY}"
|
||||
SERP_API: "${SERP_API}"
|
||||
INFO_Application_ID: "${INFO_Application_ID}"
|
||||
INFO_Tenant_ID: "${INFO_Tenant_ID}"
|
||||
INFO_Secret: "${INFO_Secret}"
|
||||
CAL_APPID: "${CAL_APPID}"
|
||||
CAL_SECRET: "${CAL_SECRET}"
|
||||
CAL_TENNANT_ID: "${CAL_TENNANT_ID}"
|
||||
TEAMS_WEBHOOK_URL: "${TEAMS_WEBHOOK_URL}"
|
||||
FEEDBACK_SERVER_BASE_URL: "${FEEDBACK_SERVER_BASE_URL}"
|
||||
WORDPRESS_BOOKING_URL: "${WORDPRESS_BOOKING_URL}"
|
||||
MS_BOOKINGS_URL: "${MS_BOOKINGS_URL}"
|
||||
volumes:
|
||||
- ./lead-engine:/app
|
||||
- lead_engine_data:/app/data
|
||||
|
||||
volumes:
|
||||
explorer_db_data: {}
|
||||
lead_engine_data: {}
|
||||
Reference in New Issue
Block a user