selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
Pharos logo

Self-host Pharos

0.3.0

Local-first agentic RAG for team document libraries

BetaOpen SourceMIT
Updated2 months ago
LanguagePython
Setup difficultyAdvanced
Stars
241
Ports
8787 (pharos serve HTTP API), 8900 (inference service (GPU embeddings/reranking))
Requires
Qdrant
Install with Docker Compose

What is Pharos?

Pharos is a local-first agentic RAG system for team document libraries. It ingests multi-format documents (PDF, scans, docx, pptx, xlsx) via MinerU parsing, provides hybrid retrieval combining dense embeddings, sparse BM25, and reranking, and enforces enterprise-grade access control (ACL) with multi-tenant identities and principals. It offers two consumption modes: an HTTP API (/v1/ask) for closed-pipeline QA with citations, and an MCP exit for agentic RAG where the agent drives retrieval. The system runs as a resident daemon (via systemd or Docker Compose) that owns the GPU models and Qdrant vector store, with a three-tier architecture (inference, pharos app, Qdrant) for horizontal scaling. Documentation is primarily in Chinese with a 12-part learning series.

Should you self-host Pharos?

Pharos scores 44/100 on selfhost.directory (how scoring works) and ranks #80 of 125 in AI. It has 241 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is ComfyUI (93/100, 143 668 stars). It scores higher overall, so compare the two before you pick. See Pharos vs ComfyUI side by side.

Features

  • Agentic RAG
  • Backup and restore procedures
  • Citations with page-level traceability
  • CPU-only test suite
  • Dual HTTP + MCP exits
  • Enterprise ACL
  • Fail-closed security model
  • Horizontal scaling (three-tier)Throughput ceiling limited by single GPU forward speed
  • Hybrid Retrieval
  • Multi-format document ingestion
  • Observability
  • RAG learning documentation
  • Remote inference support
  • Session-isolated deduplication
  • Systemd supervision

Pharos README

How to install Pharos

Install Pharos with Docker Compose

Environment variables
See .env.compose.example for required variables (MODELS_HOST_DIR, INDEX_HOST_DIR, KEYS_HOST_FILE, GPU_UUID, DEEPSEEK_API_KEY, etc.)

docker compose --env-file .env.compose up -d --build

Multi-replica:

docker compose --env-file .env.compose up -d --build --scale pharos=3

Entry point: http://127.0.0.1:8080

Requires WSL on Windows; paths must be on WSL ext4, not /mnt/c

More in RAG

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…