- Frontend: Vite + React + TypeScript chat interface - Backend: FastAPI gateway with LangGraph routing - Knowledge Service: ChromaDB RAG with Gitea scraper - LangGraph Service: Multi-agent orchestration - Airflow: Scheduled Gitea ingestion DAG - Documentation: Complete plan and implementation guides Architecture: - Modular Docker Compose per service - External ai-mesh network for communication - Fast rebuilds with /app/packages pattern - Intelligent agent routing (no hardcoded keywords) Services: - Frontend (5173): React chat UI - Chat Gateway (8000): FastAPI entry point - LangGraph (8090): Agent orchestration - Knowledge (8080): ChromaDB RAG - Airflow (8081): Scheduled ingestion - PostgreSQL (5432): Chat history Excludes: node_modules, .venv, chroma_db, logs, .env files Includes: All source code, configs, docs, docker files
30 lines
673 B
Docker
30 lines
673 B
Docker
FROM python:3.11-slim
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
libstdc++6 \
|
|
gcc \
|
|
g++ \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create directories
|
|
RUN mkdir -p /app/packages /app/code
|
|
|
|
# Install Python packages to a specific location
|
|
WORKDIR /app
|
|
COPY requirements.txt .
|
|
RUN pip install --target=/app/packages -r requirements.txt
|
|
|
|
# Copy initial code (will be overridden by volume mount in dev)
|
|
COPY . /app/code/
|
|
|
|
# Set Python to find packages in /app/packages
|
|
ENV PYTHONPATH=/app/packages
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
WORKDIR /app/code
|
|
EXPOSE 8080
|
|
|
|
CMD ["python3", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
|
|
|