Обновить Dockerfile
This commit is contained in:
1 parent
92f64a5f92
commit
a3b174f04c
1 file changed
+40
-12
+40
-12
@@ -1,19 +1,47 @@
|
||||
# Используем официальный образ Langflow как базу
|
||||
FROM langflowai/langflow:1.7.3
|
||||
|
||||
USER root
|
||||
# Устанавливаем системные зависимости для Playwright и browser-use
|
||||
RUN apt-get update && apt-get install -y \
|
||||
wget \
|
||||
gnupg \
|
||||
libglib2.0-0 \
|
||||
libnss3 \
|
||||
libnspr4 \
|
||||
libdbus-1-3 \
|
||||
libatk1.0-0 \
|
||||
libatk-bridge2.0-0 \
|
||||
libcups2 \
|
||||
libdrm2 \
|
||||
libxkbcommon0 \
|
||||
libxcomposite1 \
|
||||
libxdamage1 \
|
||||
libxfixes3 \
|
||||
libxrandr2 \
|
||||
libgbm1 \
|
||||
libasound2 \
|
||||
libpango-1.0-0 \
|
||||
libcairo2 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 1. Сначала обновляем pip
|
||||
RUN /app/.venv/bin/python -m pip install --no-cache-dir --upgrade pip
|
||||
# Устанавливаем Python зависимости
|
||||
RUN pip install --no-cache-dir \
|
||||
browser-use \
|
||||
langchain-community \
|
||||
playwright \
|
||||
httpx \
|
||||
langchain-openai \
|
||||
openai
|
||||
|
||||
# 2. Устанавливаем browser-use, но НЕ трогаем системные зависимости Langflow (pydantic и sqlmodel)
|
||||
# Мы позволяем pip установить их, но на следующем шаге мы их "полечим"
|
||||
RUN /app/.venv/bin/python -m pip install --no-cache-dir browser-use langchain-openai
|
||||
# Устанавливаем Playwright браузеры
|
||||
RUN playwright install chromium --with-deps
|
||||
|
||||
# 3. КРИТИЧЕСКИЙ ШАГ: Переустанавливаем Langflow поверх.
|
||||
# Это заставит pip откатить несовместимые версии SQLAlchemy/SQLModel к тем, которые нужны Langflow.
|
||||
RUN /app/.venv/bin/python -m pip install --no-cache-dir langflow --force-reinstall
|
||||
# Переменные окружения для browserless
|
||||
ENV BROWSERLESS_API_URL=http://browserless.home
|
||||
ENV BROWSER_TYPE=chromium
|
||||
|
||||
# 4. Исправляем права доступа (используем ID 1000, так как имени может не быть)
|
||||
RUN chown -R 1000:1000 /app/.venv
|
||||
# Рабочая директория
|
||||
WORKDIR /app
|
||||
|
||||
# Оставляем запуск от root или не указываем USER, чтобы Dokploy не ругался на отсутствие passwd
|
||||
# По умолчанию запускаем Langflow
|
||||
CMD ["langflow", "--host", "0.0.0.0", "--port", "7860"]
|
||||
Reference in new issue
Block a user