{"data":{"slug":"dmayboroda-minima","name":"minima","tagline":"On-premises conversational RAG with configurable containers","github_url":"https://github.com/dmayboroda/minima","owner":"dmayboroda","repo":"minima","owner_avatar_url":"https://avatars.githubusercontent.com/u/2357342?v=4","primary_language":"Python","stars":1049,"forks":105,"topics":["ai","claude","custom-gpts","docker","docker-compose","huggingface","langchain","mcp","model-context-protocol","ollama","qdrant","sentence-transformers"],"archived":false,"github_pushed_at":"2026-01-22T09:22:09+00:00","maintenance_label":"Slowing","stars_delta_30d":1,"url":"https://www.graphcanon.com/tools/dmayboroda-minima","markdown_url":"https://www.graphcanon.com/tools/dmayboroda-minima.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/dmayboroda-minima","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=dmayboroda-minima","description":"On-premises conversational RAG with configurable containers","homepage_url":null,"license":"MPL-2.0","open_issues":15,"watchers":18,"ai_summary":"Minima is a versatile on-premises conversational tool that supports various deployment modes including fully local setups (Ollama), custom LLMs, ChatGPT integration, and MCP usage through Docker-compose configurations.","readme_excerpt":"### Quick Start with run.sh\n\nThe easiest way to start Minima is using the `run.sh` script:\n\n```bash\n./run.sh\n```\n\nYou'll see the following options:\n```\nSelect an option:\n1) Fully Local Setup (Ollama)\n2) Custom LLM (OpenAI-compatible API)\n3) ChatGPT Integration\n4) MCP usage\n5) Quit\n```\n\n---\n\n### Manual Docker Compose Commands\n\n1. Create a .env file in the project's root directory (where you'll find .env.sample). Place .env in the same folder and copy all environment variables from .env.sample to .env.\n\n2. Ensure your .env file includes the following variables:\n<ul>\n   <li> LOCAL_FILES_PATH </li>\n   <li> EMBEDDING_MODEL_ID </li>\n   <li> EMBEDDING_SIZE </li>\n   <li> OLLAMA_MODEL (only for Ollama mode) </li>\n   <li> RERANKER_MODEL (only for Ollama mode) </li>\n   <li> LLM_BASE_URL (only for Custom LLM mode) </li>\n   <li> LLM_MODEL (only for Custom LLM mode) </li>\n   <li> LLM_API_KEY (optional for Custom LLM mode) </li>\n   <li> USER_ID </li> - required for ChatGPT integration, just use your email\n   <li> PASSWORD </li> - required for ChatGPT integration, just use any password\n</ul>\n\n3. For fully local installation use: **docker compose -f docker-compose-ollama.yml --env-file .env up --build**.\n\n4. For custom LLM deployment (OpenAI-compatible API) use: **docker compose -f docker-compose-custom-llm.yml --env-file .env up --build**.\n\n5. For ChatGPT enabled installation use: **docker compose -f docker-compose-chatgpt.yml --env-file .env up --build**.\n\n6. For MCP integration (Anthropic Desktop app usage): **docker compose -f docker-compose-mcp.yml --env-file .env up --build**.\n\n6. In case of ChatGPT enabled installation copy OTP from terminal where you launched docker and use [Minima GPT](https://chatgpt.com/g/g-r1MNTSb0Q-minima-local-computer-search)  \n\n7. If you use Anthropic Claude, just add folliwing to **/Library/Application\\ Support/Claude/claude_desktop_config.json**\n\n```\n{\n    \"mcpServers\": {\n      \"minima\": {\n        \"command\": \"uv\",\n        \"args\": [\n          \"--directory\",\n          \"/path_to_cloned_minima_project/mcp-server\",\n          \"run\",\n          \"minima\"\n        ]\n      }\n    }\n  }\n```\n   \n8. To use fully local installation go to `cd electron`, then run `npm install` and `npm start` which will launch Minima electron app.\n\n9. Ask anything, and you'll get answers based on local files in {LOCAL_FILES_PATH} folder.\n---\n\n---\n\n# The Docker build will skip reranker download automatically\n```\n\n**Important:** When using custom LLM mode, you do NOT need to set `OLLAMA_MODEL` or `RERANKER_MODEL` variables. The custom LLM workflow uses direct retrieval without reranking for better performance. The Dockerfile will automatically skip downloading the reranker model during build.\n\nTo use a chat ui, please navigate to **http://localhost:3000**\n\nThe custom LLM mode uses a different workflow compared to Ollama:\n\n**Ollama Workflow:**\n1. User query → Query enhancement (LLM call)\n2. Document retrieval with reranking (HuggingFace CrossEncoder)\n3. Answer generation (LLM call)\n\n**Custom LLM Workflow:**\n1. User query → LLM decides if document search is needed (function calling)\n2. If needed: Direct vector search (no reranking)\n3. LLM generates answer with or without retrieved context\n\n**Compatible LLM Servers:**\n- **vLLM** - High-performance inference server (`http://your-server:8000/v1`)\n- **Text Generation Inference (TGI)** - Hugging Face's inference server\n- **Ollama Server** - Ollama running in API mode\n- **LiteLLM** - Proxy for multiple LLM providers\n- **LocalAI** - OpenAI-compatible local inference\n- **OpenAI API** - Directly use OpenAI's API\n- **Any OpenAI-compatible endpoint**\n\nThis will automatically use `docker-compose-custom-llm.yml` which deploys only the necessary services (no Ollama container).\n\n**Example of .env file for Claude app:**\n```\nLOCAL_FILES_PATH=/Users/davidmayboroda/Downloads/PDFs/\nEMBEDDING_MODEL_ID=sentence-transformers/all-mpnet-base-v2\nEMBEDDING_SIZE=768\n```\nFor the Claude app, please apply the changes to the clau","github_created_at":"2024-11-02T22:44:56+00:00","created_at":"2026-07-11T10:49:21.553178+00:00","updated_at":"2026-09-20T05:25:59.257955+00:00","categories":[{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"claude","name":"claude"},{"slug":"custom-gpts","name":"custom-gpts"},{"slug":"docker","name":"docker"},{"slug":"docker-compose","name":"docker-compose"},{"slug":"huggingface","name":"huggingface"},{"slug":"langchain","name":"langchain"},{"slug":"mcp","name":"mcp"}],"trust":{"provenance":{"is_fork":false,"github_id":882486617,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T05:25:56.261Z","maintenance":{"label":"Slowing","score":36,"methodology":"github_public_v1","releases_90d":0,"days_since_push":240,"last_release_at":"2025-01-22T03:37:22Z","stars_delta_30d":1,"open_issues_delta_30d":1},"security_summary":{"status":"no_manifest","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:49:23.298Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T05:25:57.479Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-09-20T05:25:57.479Z"},"license_spdx":{"value":"MPL-2.0","source":"github.license","observed_at":"2026-09-20T05:25:57.479Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["- Use Minima for full local control over sensitive data in high-security environments where on-premises deployments are essential.","- Opt for Minima if you aim to utilize a custom Language Model (LLM) with an OpenAI-compatible API without the reranking step, enhancing performance for large-scale data retrieval."],"when_not_to_use":["- Avoid using Minima if your organization requires strict adherence to a cloud-only deployment strategy.","- Do not choose Minima if you prefer tools that handle local file storage and security entirely through cloud services rather than on-premises configurations."],"source":"enrich:decision_facts","observed_at":"2026-07-12T13:12:47.424Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Minima is an on-premises conversational RAG tool with flexible deployment options through Docker-compose configurations, catering to fully local setups (Ollama), custom LLMs, ChatGPT integration, and MCP usage."}]}}