Files
MarketingTool/docker-compose.yml
T
Marco0300 0f70674b16
CI / compose (push) Successful in 12m29s
use current Firecrawl v2 endpoint
2026-09-03 21:36:50 +02:00

87 lines
2.9 KiB
YAML

services:
api:
build:
context: ./apps/api
dockerfile: Dockerfile
image: prospect-platform-api:local
environment:
APP_ENV: ${APP_ENV:-development}
API_HOST: 0.0.0.0
API_PORT: 8000
LOG_LEVEL: ${LOG_LEVEL:-INFO}
CORS_ORIGINS: ${CORS_ORIGINS:-http://localhost:8080}
SESSION_SECRET: ${SESSION_SECRET:-}
DATA_DIR: /data
# Optional first-run admin bootstrap; leave unset after provisioning.
BOOTSTRAP_ADMIN_EMAIL: ${BOOTSTRAP_ADMIN_EMAIL:-}
BOOTSTRAP_ADMIN_PASSWORD: ${BOOTSTRAP_ADMIN_PASSWORD:-}
AI_RESEARCH_PROVIDER: ${AI_RESEARCH_PROVIDER:-}
AI_RESEARCH_PROVIDER_MODEL: ${AI_RESEARCH_PROVIDER_MODEL:-}
AI_RESEARCH_PROVIDER_URL: ${AI_RESEARCH_PROVIDER_URL:-}
AI_RESEARCH_PROVIDER_ALLOWED_HOSTS: ${AI_RESEARCH_PROVIDER_ALLOWED_HOSTS:-}
AI_RESEARCH_PROVIDER_API_KEY: ${AI_RESEARCH_PROVIDER_API_KEY:-}
# Native Nous Portal tool-calling research (server-side secrets only).
NOUS_API_KEY: ${NOUS_API_KEY:-}
NOUS_MODEL: ${NOUS_MODEL:-Hermes-4-405B}
NOUS_BASE_URL: ${NOUS_BASE_URL:-https://inference-api.nousresearch.com/v1}
NOUS_ALLOWED_HOSTS: ${NOUS_ALLOWED_HOSTS:-inference-api.nousresearch.com}
FIRECRAWL_API_KEY: ${FIRECRAWL_API_KEY:-}
FIRECRAWL_BASE_URL: ${FIRECRAWL_BASE_URL:-https://api.firecrawl.dev/v2}
FIRECRAWL_ALLOWED_HOSTS: ${FIRECRAWL_ALLOWED_HOSTS:-api.firecrawl.dev}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
# Deprecated migration-only generic search adapter.
SEARCH_PROVIDER_URL: ${SEARCH_PROVIDER_URL:-}
SEARCH_PROVIDER_ALLOWED_HOSTS: ${SEARCH_PROVIDER_ALLOWED_HOSTS:-}
SEARCH_PROVIDER_API_KEY: ${SEARCH_PROVIDER_API_KEY:-}
AUTOMATED_OUTREACH_ENABLED: "false"
volumes:
- prospect_api_data:/data
read_only: true
init: true
pids_limit: 128
tmpfs:
- /tmp
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/v1/health/ready', timeout=2)"]
interval: 10s
timeout: 3s
retries: 5
start_period: 5s
restart: unless-stopped
web:
build:
context: ./apps/web
dockerfile: Dockerfile
image: prospect-platform-web:local
environment:
API_UPSTREAM_HOST: api
API_UPSTREAM_PORT: "8000"
AUTOMATED_OUTREACH_ENABLED: "false"
ports:
- "${WEB_PORT:-8080}:8080"
read_only: true
init: true
pids_limit: 128
tmpfs:
- /tmp
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8080/healthz', timeout=2)"]
interval: 10s
timeout: 3s
retries: 5
start_period: 3s
restart: unless-stopped
volumes:
prospect_api_data:
name: prospect-platform-api-data