dmayboroda/minima

On-premises conversational RAG with configurable containers

1,046 ★106 forksPythonUpdated 6mo ago

What you need to know

Open-source on-premises RAG container stack with four modes: fully local (Ollama), custom LLM (OpenAI-compatible API), Custom GPT (ChatGPT), and Anthropic Claude — index your local documents and query them from ChatGPT, Claude, or your own LLM.

Install

./run.sh (interactive setup with mode selection)
docker compose -f docker-compose-ollama.yml --env-file .env up --build (fully local)
docker compose -f docker-compose-custom-llm.yml --env-file .env up --build (custom LLM)
docker compose -f docker-compose-chatgpt.yml --env-file .env up --build (ChatGPT)
docker compose -f docker-compose-mcp.yml --env-file .env up --build (Anthropic Claude MCP)

Usage

  • Create .env from .env.sample with LOCAL_FILES_PATH, EMBEDDING_MODEL_ID, EMBEDDING_SIZE; add OLLAMA_MODEL + RERANKER_MODEL for Ollama mode, or LLM_BASE_URL + LLM_MODEL for custom LLM mode
  • For Anthropic Claude: add the minima MCP server to ~/Library/Application Support/Claude/claude_desktop_config.json using uv --directory /path_to_cloned_minima_project/mcp-server run minima
  • For ChatGPT: copy the OTP from the docker terminal and use the 'Minima Local Computer Search' custom GPT
  • Chat UI is served at http://localhost:3000; fully local users can also run the Electron app (cd electron && npm install && npm start)
  • Indexed file types: .pdf, .xls, .docx, .txt, .md, .csv (recursive over LOCAL_FILES_PATH)

Key features

  • Four modes: fully local Ollama (all NNs on your hardware), custom OpenAI-compatible LLM (vLLM, TGI, Ollama server, LiteLLM, LocalAI, OpenAI API), ChatGPT custom GPT, and Anthropic Claude
  • Ollama workflow: query enhancement → retrieval with BAAI reranker reranking → answer generation
  • Custom LLM workflow: LLM decides via function calling whether to search → direct vector search (no reranking) → answer
  • Qdrant vector storage configured from EMBEDDING_SIZE; Sentence Transformer embedding models
  • MCP usage with GitHub Copilot via run_in_copilot.sh and .vscode/mcp.json

Caveats

  • Only Sentence Transformer embedding models are supported (tested with sentence-transformers/all-mpnet-base-v2)
  • Reranker model is NOT required and is not downloaded in custom LLM mode
  • For MCP usage your local machine needs Python >= 3.10 and 'uv' installed
  • ChatGPT integration requires USER_ID (your email) and PASSWORD env vars
  • License: Mozilla Public License v2.0 (MPLv2)
Platforms: macOS · Linux · Windows (via Docker)Clients: Anthropic Claude (Claude Desktop) · ChatGPT (custom GPT) · GitHub Copilot (VS Code)
Documentation ↗

Reviewed 2026-08-07

Topics

aiclaudecustom-gptsdockerdocker-composehuggingfacelangchainmcpmodel-context-protocolollamaqdrantsentence-transformers
View on GitHub ↗
Stars
1,046★
Forks
106
Language
Python
License
MPL-2.0
Created
2024-11-02
Last push
2026-01-22