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:-false} 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: