FROM python:3.11-slim # Define uv extras to install ARG UV_EXTRAS="\ # Storage & Databases \ postgres neo4j falkordb kuzu \ # Notebooks & Interactive Environments \ notebook \ # LLM & AI Frameworks \ langchain llama-index gemini huggingface ollama mistral groq \ # Evaluation & Monitoring \ deepeval evals posthog \ # Graph Processing & Code Analysis \ codegraph graphiti \ # Document Processing \ docs" # Set build argument ARG DEBUG # Set environment variable based on the build argument ENV DEBUG=${DEBUG} ENV PIP_NO_CACHE_DIR=true RUN apt-get install -y \ gcc \ libpq-dev WORKDIR /app COPY pyproject.toml uv.lock /app/ RUN pip install uv # Install the dependencies with uv RUN uv sync --no-dev # Set the PYTHONPATH environment variable to include the /app directory ENV PYTHONPATH=/app COPY cognee/ /app/cognee # Copy Alembic configuration COPY alembic.ini /app/alembic.ini COPY alembic/ /app/alembic COPY entrypoint.sh /app/entrypoint.sh RUN chmod +x /app/entrypoint.sh RUN sed -i 's/\r$//' /app/entrypoint.sh ENTRYPOINT ["/app/entrypoint.sh"]