This repository contains a high-intelligence, multi-container Docker environment designed for local AI development, autonomous agent management, and high-fidelity Retrieval-Augmented Generation (RAG). It integrates cutting-edge inference engines, vector databases, and automation tools into a single, cohesive network.
- System Requirements: Ensure you have Docker and the NVIDIA Container Toolkit installed (for GPU-accelerated inference).
- Clone & Prepare: Clone this repository and create an
obsidian_vaultdirectory in the root to serve as the shared knowledge base. - Deployment:
docker compose up -d
- Access: Services are mapped to specific ports (e.g., Open WebUI at
http://localhost:3000).
- Ollama: The primary inference engine for running high-performance LLMs locally. It handles model loading and API serving. GitHub
- Open WebUI: A feature-rich, self-hosted web interface for interacting with Ollama. It serves as the main dashboard for daily chat and prompt engineering. GitHub
- Dify: A comprehensive LLM application development platform. It manages the full lifecycle of AI apps, from prompt orchestration to operational observability. GitHub
- Flowise: A low-code, drag-and-drop tool for building complex, customized LLM flows and agentic chains using LangChain and LlamaIndex. GitHub
- OpenHands: An autonomous AI software engineer capable of writing code, running commands, and managing complex development tasks within a sandbox. GitHub
- Jupyter Notebook: A PyTorch-enabled environment for model fine-tuning, data science, and interactive Python development. GitHub
- Open-NotebookLM: A local alternative to Google's NotebookLM, allowing for source-grounded analysis and document-based insights. GitHub
- Gitea: A lightweight, self-hosted Git service to manage your local code repositories and AI-generated scripts. GitHub
- AnythingLLM: A workspace-centric RAG application that simplifies document ingestion and vector storage management. GitHub
- RAGFlow: An advanced RAG system specializing in deep document understanding, particularly effective at parsing complex tables and layouts. GitHub
- Unstructured API: A specialized service for pre-processing and cleaning "messy" data formats (PDFs, PPTXs, HTML) before they are embedded. GitHub
- SearXNG: A privacy-respecting metasearch engine that provides your LLMs and agents with real-time web context without external API keys. GitHub
- n8n: A powerful workflow automation tool that connects various AI services and external APIs into event-driven pipelines. GitHub
- Obsidian Remote: A browser-based interface for your Obsidian vault, enabling real-time PKM management within the Docker network. GitHub
- CouchDB: The database backend for private, self-hosted Obsidian synchronization across your devices. GitHub
- Mercure: A real-time hub for pushing server-sent events (SSE) to modern web interfaces, ensuring instantaneous updates across the stack. GitHub
- PostgreSQL: The primary relational database for n8n, Gitea, Dify, and Flowise. GitHub
- MongoDB: A NoSQL document store used for high-velocity logging and unstructured agentic state storage. GitHub
- Qdrant: A high-performance vector database that stores and retrieves embeddings for RAG and agentic memory. GitHub
- SurrealDB: A multi-model database that powers the analytical capabilities of Open-NotebookLM. GitHub
- Redis: A key-value store used for high-speed caching and message brokering across the automation layer. GitHub
- MySQL: Relational storage specifically allocated for managing RAGFlow metadata. GitHub
- MinIO: An S3-compatible object storage server used for managing large datasets and binary assets. GitHub
- Infinity: An AI-native database optimized for ultra-fast hybrid search, including dense/sparse vectors and full-text indexing. GitHub
The primary advantage of this "all-under-one-roof" architecture is seamless context continuity. In traditional setups, data is siloed between a note-taking app, a coding IDE, and an automation platform. In this stack, every major service—from your coding agent (OpenHands) to your automation workflows (n8n) and analytical tools (Jupyter)—has direct, simultaneous access to your obsidian_vault and local Gitea repositories.
By containerizing these services within a single Docker network:
- Zero-Latency RAG: Your vector database (Qdrant) and inference engine (Ollama) communicate over high-speed internal bridge networks, drastically reducing the time between data ingestion and retrieval.
- Privacy-First Intelligence: No data leaves your local network. Your internal searches (SearXNG), document parsing (Unstructured), and agentic logic are entirely self-contained.
- Cross-Service Orchestration: An n8n workflow can trigger an OpenHands coding task based on a new note in Obsidian, search the web via SearXNG for documentation, and commit the fix to Gitea—all without a single external API call.
This is more than a collection of tools; it is a locally-hosted Operating System for the AI age.