# Многоступенчатая сборка для оптимизации размера образа FROM python:3.11-slim as builder # Установка системных зависимостей для сборки RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ gcc \ g++ \ && rm -rf /var/lib/apt/lists/* # Создание виртуального окружения RUN python -m venv /opt/venv ENV PATH="/opt/venv/bin:$PATH" # Копирование файлов зависимостей COPY requirements.txt pyproject.toml ./ # Установка зависимостей RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # Финальный образ FROM python:3.11-slim # Установка только runtime зависимостей RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ && rm -rf /var/lib/apt/lists/* # Копирование виртуального окружения из builder COPY --from=builder /opt/venv /opt/venv ENV PATH="/opt/venv/bin:$PATH" # Создание рабочей директории WORKDIR /app # Копирование кода проекта COPY agents/ ./agents/ COPY models/ ./models/ COPY services/ ./services/ COPY prompts/ ./prompts/ COPY scripts/ ./scripts/ # Установка переменных окружения ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PYTHONPATH=/app # По умолчанию запускаем Python REPL для интерактивного использования # В production это будет использоваться как библиотека, импортируемая в backend CMD ["python"]