85 lines
2.9 KiB
YAML
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:
|