orio-search/docker-compose.yml
Максим Рябов f686fdfe0b Add search enhancements: JS fallback, deduplication, filtering, and encoding detection
- Add browserless JS fallback for pages that require JavaScript rendering
- Add URL deduplication with normalization (strip www/amp/m, tracking params)
- Add regex filter_query parameter to filter search results server-side
- Add user_location support for localized search results
- Add snippet enrichment with query-relevant window extraction
- Add auto-encoding detection via charset_normalizer for non-UTF-8 pages
- Add max_content_length override per extract request
- Expand SearXNG engines and configure additional search backends
2026-04-10 22:39:21 +03:00

88 lines
2 KiB
YAML

services:
searxng:
image: searxng/searxng:latest
container_name: orio-search-searxng
ports:
- "${SEARXNG_PORT:-8080}:8080"
volumes:
- ./searxng/settings.yml:/etc/searxng/settings.yml:ro
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/healthz"]
interval: 30s
timeout: 5s
retries: 3
redis:
image: redis:7-alpine
container_name: orio-search-redis
ports:
- "6379:6379"
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
deploy:
resources:
limits:
memory: 256M
browserless:
image: browserless/chrome:latest
container_name: orio-search-browserless
profiles: ["js"]
ports:
- "${BROWSERLESS_PORT:-3000}:3000"
environment:
- MAX_CONCURRENT_SESSIONS=5
- CONNECTION_TIMEOUT=15000
- DEFAULT_LAUNCH_ARGS=["--no-sandbox","--disable-gpu"]
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"]
interval: 30s
timeout: 5s
retries: 3
deploy:
resources:
limits:
memory: 1G
ollama:
image: ollama/ollama:latest
container_name: orio-search-ollama
profiles: ["llm"]
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
restart: unless-stopped
deploy:
resources:
limits:
memory: 4G
api:
build: .
container_name: orio-search-api
ports:
- "${API_PORT:-8000}:8000"
volumes:
- ./config.yaml:/app/config.yaml:ro
depends_on:
searxng:
condition: service_healthy
redis:
condition: service_healthy
environment:
- ORIO_SEARCH_CONFIG=/app/config.yaml
restart: unless-stopped
deploy:
resources:
limits:
memory: 1G
volumes:
ollama_data: