Search stack replicates the Hamilton site pattern with pg_orrery-specific additions: - FastAPI REST API (chat SSE streaming, semantic search, health check) - FastMCP server at /mcp with doc search and live SQL query tools - pgvector + pgai vectorizer for 1024-dim document embeddings - Hybrid search (semantic cosine + text ILIKE with pg_trgm GIN) - Dual LLM backend: self-hosted qwen3 via GPU gateway or Anthropic Claude - Live read-only pg_orrery SQL execution with safety guardrails (SELECT-only validation, read-only transaction, 5s timeout, 100-row cap) - Convenience MCP tools: planet_position, sky_survey, satellite_pass - MDX content ingestion from docs/src/content/docs/ (50 pages) - Docker Compose: pg_orrery+pgvector DB, pgai, vectorizer-worker, API - Alembic async migrations, Makefile, .env.example
25 lines
744 B
Plaintext
25 lines
744 B
Plaintext
# pg_orrery Search — Environment Configuration
|
|
COMPOSE_PROJECT_NAME=pg-orrery-search
|
|
|
|
# Domain for caddy-docker-proxy labels
|
|
DOMAIN=pg-orrery.warehack.ing
|
|
|
|
# PostgreSQL
|
|
POSTGRES_USER=orrery
|
|
POSTGRES_PASSWORD=changeme
|
|
|
|
# Database URLs (must match POSTGRES_USER/PASSWORD above)
|
|
DATABASE_URL=postgresql+asyncpg://orrery:changeme@db:5432/orrery_search
|
|
ORRERY_DB_URL=postgresql://orrery:changeme@db:5432/orrery_search
|
|
|
|
# GPU Gateway (embedding + chat)
|
|
GPU_API_KEY=sk-gpu-lb-master-key-2026
|
|
GPU_BASE_URL=https://orrery-search.gpu.supported.systems/v1
|
|
|
|
# LLM Provider: "gpu" (self-hosted qwen3) or "anthropic" (Claude)
|
|
LLM_PROVIDER=gpu
|
|
|
|
# Anthropic (only needed if LLM_PROVIDER=anthropic)
|
|
ANTHROPIC_API_KEY=
|
|
ANTHROPIC_MODEL=claude-sonnet-4-20250514
|