Skip to main content

Architecture Diagram & VM Allocation

To accommodate the resource limits of Oracle Cloud Free Tier AMD Micro VMs (1GB RAM each), Search Valley isolates its stack into 4 independent virtual machines connected via a secure private network (e.g. Tailscale or Oracle VCN).

Network Allocation & Port Matrix​

+-----------------------------------------------------------------------------------+
| SEARCH VALLEY |
+-----------------------------------------------------------------------------------+
|
+---------------------------------+---------------------------------+
| |
v v
+-----------------------+ +-----------------------+
| VM1: SearXNG | | VM3: Tools API |
| - Engine Scraper | | - Python FastAPI |
| - Port: 8080 | | - Port: 8000 |
+-----------------------+ +-----------------------+
^ ^
| |
v |
+-----------------------+ |
| VM2: Vane Brain | |
| - Node Engine | |
| - Port: 3000 | |
+-----------------------+ |
^ |
| |
v |
+---------------------------------------------------------------------------+
| VM4: Backend Core |
| - TypeScript Hono Server |
| - Postgres DB (Port 5432) & Qdrant DB (Port 6333) |
| - Port: 8001 |
+---------------------------------------------------------------------------+

VM 1: SearXNG (Aggregator)​

  • Role: Scrapes web search engine search indexes.
  • Port: 8080 (Internal only, not exposed publicly).
  • RAM footprint: ~150MB.

VM 2: Vane (AI Answering Brain)​

  • Role: Standalone semantic answer engine brain.
  • Port: 3000 (Exposed for alternative frontends).
  • Image: itzcrazykns1337/vane:slim-latest.

VM 3: Tools API (Widget Engine)​

  • Role: Executing specific tools (arithmetic calculation, LaTeX equation resolution, unit conversions, periodic table properties).
  • Stack: FastAPI + Python 3.11.
  • Port: 8000 (Publicly exposed API).

VM 4: Backend Core (Application Core)​

  • Role: Handles relational data (PostgreSQL), semantic vector storage (Qdrant), session authentication (JWT + OAuth), PDF text parsing, custom LLM streaming fallback chains, and transparent audit logging.
  • Stack: Hono TS + PostgreSQL 15 + Qdrant.
  • Port: 8001 (Publicly exposed API).