w Dockerze na Ubuntu Server
Ten przewodnik opisuje krok po kroku, jak zainstalować serwer MCP Crawl4AI RAG w środowisku Docker na serwerze z systemem Ubuntu. Serwer MCP umożliwia zaawansowane przeszukiwanie sieci i funkcje RAG (Retrieval-Augmented Generation) dla agentów AI oraz asystentów kodowania AI.
Wymagania wstępne
Zanim rozpoczniesz, upewnij się, że masz:
-
Serwer z systemem Ubuntu (zalecana wersja: Ubuntu 20.04 lub nowsza).
-
Zainstalowany Docker i Docker Compose.
-
Klucz API OpenAI do generowania osadzeń.
-
Konto Supabase z utworzonym projektem i włączonym rozszerzeniem pgvector.
-
Opcjonalnie: dostęp do Neo4j dla funkcji grafu wiedzy (zalecane dla wykrywania halucynacji AI).
Krok 1: Zainstaluj Docker na Ubuntu
-
Zaktualizuj pakiety systemowe:
sudo apt update && sudo apt upgrade -y -
Zainstaluj zależności wymagane do instalacji Dockera:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common -
Dodaj klucz GPG repozytorium Dockera:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -
Dodaj repozytorium Dockera:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -
Zainstaluj Docker:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io -
Dodaj użytkownika do grupy Docker (aby uruchamiać polecenia bez sudo):
sudo usermod -aG docker $USER newgrp docker -
Zainstaluj Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
Krok 2: Sklonuj repozytorium serwera MCP
-
Sklonuj repozytorium MCP Crawl4AI RAG:
git clone https://github.com/coleam00/mcp-crawl4ai-rag.git cd mcp-crawl4ai-rag
Krok 3: Skonfiguruj Supabase
-
Zaloguj się do panelu Supabase i utwórz nowy projekt, jeśli jeszcze tego nie zrobiłeś.
-
Włącz rozszerzenie pgvector:
-
Przejdź do Edytora SQL w panelu Supabase.
-
Wklej i uruchom zawartość pliku crawled_pages.sql z repozytorium, aby utworzyć tabele i funkcje.
-
-
Zapisz dane dostępowe projektu Supabase (URL projektu i klucz serwisowy).
Krok 4: Skonfiguruj plik .env
-
W katalogu głównym projektu utwórz plik .env:
nano .env -
Wklej następującą konfigurację, zastępując wartości odpowiednimi danymi:
# MCP Server Configuration HOST=0.0.0.0 PORT=8051 TRANSPORT=sse # OpenAI API Configuration OPENAI_API_KEY=your_openai_api_key # LLM for summaries and contextual embeddings MODEL_CHOICE=gpt-4.1-nano # RAG Strategies USE_CONTEXTUAL_EMBEDDINGS=false USE_HYBRID_SEARCH=true USE_AGENTIC_RAG=false USE_RERANKING=true USE_KNOWLEDGE_GRAPH=false # Supabase Configuration SUPABASE_URL=your_supabase_project_url SUPABASE_SERVICE_KEY=your_supabase_service_key # Neo4j Configuration (optional, for knowledge graph) NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=your_neo4j_password -
Zapisz plik i zamknij edytor (Ctrl+O, Enter, Ctrl+X w nano).
Krok 5: (Opcjonalne) Skonfiguruj Neo4j dla grafu wiedzy
Jeśli chcesz korzystać z funkcji grafu wiedzy (np. wykrywanie halucynacji AI), skonfiguruj Neo4j:
-
Sklonuj repozytorium lokalnego pakietu AI:
git clone https://github.com/coleam00/local-ai-packaged.git cd local-ai-packaged -
Uruchom Neo4j za pomocą Docker Compose:
docker-compose up -d -
Zapisz dane dostępowe Neo4j (URI, użytkownik, hasło) i dodaj je do pliku .env.
Uwaga: Funkcje grafu wiedzy nie są w pełni kompatybilne z Dockerem, więc rozważ uruchomienie serwera MCP bez Dockera (za pomocą uv), jeśli potrzebujesz tej funkcjonalności.
Krok 6: Skompiluj i uruchom obraz Dockera
-
Wróć do katalogu mcp-crawl4ai-rag:
cd ~/mcp-crawl4ai-rag -
Skompiluj obraz Dockera:
docker build -t mcp/crawl4ai-rag --build-arg PORT=8051 . -
Uruchom kontener:
docker run --env-file .env -p 8051:8051 mcp/crawl4ai-rag
Krok 7: Sprawdź działanie serwera
-
Upewnij się, że serwer działa, wysyłając żądanie do endpointu SSE:
curl http://localhost:8051/sse -
Powinieneś zobaczyć odpowiedź potwierdzającą działanie serwera.
Krok 8: Integracja z klientami MCP
Aby połączyć się z serwerem za pomocą klienta MCP (np. Claude Desktop, Windsurf):
-
Skonfiguruj klienta z transportem SSE:
{ "mcpServers": { "crawl4ai-rag": { "transport": "sse", "url": "http://localhost:8051/sse" } } } -
Jeśli używasz innego kontenera Docker, zastąp localhost adresem host.docker.internal.
Uwagi końcowe
-
Serwer jest teraz gotowy do przeszukiwania stron internetowych, indeksowania treści i wykonywania operacji RAG.
-
Aby włączyć zaawansowane strategie RAG (np. USE_AGENTIC_RAG lub USE_KNOWLEDGE_GRAPH), zmodyfikuj plik .env i uruchom ponownie kontener.
-
Regularnie aktualizuj repozytorium, aby korzystać z nowych funkcji i ulepszeń.