Ingest MD/PDF/DOCX/XLSX into org-scoped documents with classify and RAG indexing. Add compare/timeline chat modes and UI upload. Filter WebSocket progress by user ACL and normalize admin project slugs consistently. Co-authored-by: Cursor <cursoragent@cursor.com>
32 lines
923 B
Docker
32 lines
923 B
Docker
FROM python:3.11-slim-bookworm
|
|
|
|
# Установка системных зависимостей
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ffmpeg \
|
|
build-essential \
|
|
libsndfile1 \
|
|
curl \
|
|
tesseract-ocr \
|
|
tesseract-ocr-rus \
|
|
tesseract-ocr-eng \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Рабочая директория
|
|
WORKDIR /app
|
|
|
|
# Копируем зависимости
|
|
COPY requirements.txt pip.conf ./
|
|
RUN pip install --no-cache-dir --timeout 300 -r requirements.txt
|
|
|
|
# Копируем код проекта
|
|
COPY . .
|
|
|
|
# Создаём директории для данных
|
|
RUN mkdir -p uploads processed tmp
|
|
|
|
# Открываем порт
|
|
EXPOSE 8000
|
|
|
|
# Запускаем напрямую (модели скачаются при первом запуске, не при сборке!)
|
|
CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8000"]
|