FROM python:3.11-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 WORKDIR /app # Устанавливаем системные зависимости, которые часто требуются для opencv и ffmpeg RUN apt-get update \ && apt-get install -y --no-install-recommends \ build-essential \ libglib2.0-0 \ libsm6 \ libxrender1 \ libxext6 \ ffmpeg \ && rm -rf /var/lib/apt/lists/* # Копируем зависимости и устанавливаем Python-пакеты COPY req.txt /app/req.txt RUN python -m pip install --upgrade pip setuptools wheel \ && pip install --no-cache-dir -r /app/req.txt # Копируем проект COPY . /app # Открытый порт EXPOSE 8000 # По умолчанию запускаем uvicorn — принимаем HOST и PORT из переменных окружения # Если переменные не заданы, используются значения по умолчанию CMD ["sh", "-c", "uvicorn server:app --host ${BIND_HOST:-0.0.0.0} --port ${PORT:-8000}"]