Files
MarketingTool/docker-compose.yml
T

85 lines
2.9 KiB
YAML

services:
degoog:
image: ghcr.io/degoog-org/degoog:latest
environment:
DEGOOG_SETTINGS_PASSWORDS: ${DEGOOG_SETTINGS_PASSWORD:-change-this-before-exposing}
volumes:
- degoog_data:/app/data
restart: unless-stopped
searxng:
image: searxng/searxng:latest
volumes:
- ./searxng/settings.yml:/etc/searxng/settings.yml:ro
- searxng_data:/etc/searxng
restart: unless-stopped
gmaps:
image: gosom/google-maps-scraper:latest
command: ["-web", "-addr", ":8080", "-data-folder", "/gmapsdata"]
ports:
- "${GMAPS_HOST_PORT:-8081}:8080"
volumes:
- gmaps_data:/gmapsdata
restart: unless-stopped
app:
build:
context: .
dockerfile: api/Dockerfile
ports:
- "8000:8000"
- "8080:8000"
environment:
PROSPECT_DB: /data/prospects.db
PUBLIC_BASE_URL: ${PUBLIC_BASE_URL:-}
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH: /usr/bin/chromium
DISCOVERY_BACKEND: ${DISCOVERY_BACKEND:-gmaps}
GMAPS_URL: ${GMAPS_URL:-http://gmaps:8080}
GMAPS_API_MODE: ${GMAPS_API_MODE:-standard}
GMAPS_API_KEY: ${GMAPS_API_KEY:-}
GMAPS_REQUEST_TIMEOUT: ${GMAPS_REQUEST_TIMEOUT:-900}
GMAPS_POLL_SECONDS: ${GMAPS_POLL_SECONDS:-2}
OUTBOUND_USER_AGENT: ${OUTBOUND_USER_AGENT:-ProspectOS/2.0 (+personal-use)}
BROWSER_USE_ENABLED: ${BROWSER_USE_ENABLED:-true}
BROWSER_USE_MAX_STEPS: ${BROWSER_USE_MAX_STEPS:-10}
BROWSER_USE_TIMEOUT_SECONDS: ${BROWSER_USE_TIMEOUT_SECONDS:-600}
BROWSER_USE_LLM_TIMEOUT_SECONDS: ${BROWSER_USE_LLM_TIMEOUT_SECONDS:-90}
DEGOOG_ENABLED: ${DEGOOG_ENABLED:-true}
DEGOOG_URL: ${DEGOOG_URL:-http://degoog:4444}
DEGOOG_ENGINES: ${DEGOOG_ENGINES:-}
ANONYMIZED_TELEMETRY: ${ANONYMIZED_TELEMETRY:-false}
LOG_RETENTION: ${LOG_RETENTION:-20000}
AUTH_REQUIRED: ${AUTH_REQUIRED:-true}
AUTH_SESSION_TTL_SECONDS: ${AUTH_SESSION_TTL_SECONDS:-604800}
AUTH_COOKIE_SECURE: ${AUTH_COOKIE_SECURE:-false}
WORKSPACE_NAME: ${WORKSPACE_NAME:-ProspectOS workspace}
OWNER_EMAIL: ${OWNER_EMAIL:-}
OWNER_PASSWORD: ${OWNER_PASSWORD:-}
OWNER_NAME: ${OWNER_NAME:-Workspace owner}
BACKUP_DIR: ${BACKUP_DIR:-/data/backups}
BACKUP_RETENTION: ${BACKUP_RETENTION:-14}
BACKUP_INTERVAL_HOURS: ${BACKUP_INTERVAL_HOURS:-24}
AI_PROVIDER: ${AI_PROVIDER:-custom}
AI_BASE_URL: ${AI_BASE_URL:-}
AI_API_KEY: ${AI_API_KEY:-}
AI_MODEL: ${AI_MODEL:-}
AI_MOCKUP_TIMEOUT_SECONDS: ${AI_MOCKUP_TIMEOUT_SECONDS:-45}
volumes:
- prospect_data:/data
depends_on:
gmaps:
condition: service_started
restart: unless-stopped
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/health', timeout=2)"]
interval: 10s
timeout: 3s
retries: 5
volumes:
degoog_data:
searxng_data:
prospect_data:
gmaps_data: