Обновить 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
|
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
|
# Устанавливаем Python зависимости
|
||||||
RUN /app/.venv/bin/python -m pip install --no-cache-dir --upgrade pip
|
RUN pip install --no-cache-dir \
|
||||||
|
browser-use \
|
||||||
|
langchain-community \
|
||||||
|
playwright \
|
||||||
|
httpx \
|
||||||
|
langchain-openai \
|
||||||
|
openai
|
||||||
|
|
||||||
# 2. Устанавливаем browser-use, но НЕ трогаем системные зависимости Langflow (pydantic и sqlmodel)
|
# Устанавливаем Playwright браузеры
|
||||||
# Мы позволяем pip установить их, но на следующем шаге мы их "полечим"
|
RUN playwright install chromium --with-deps
|
||||||
RUN /app/.venv/bin/python -m pip install --no-cache-dir browser-use langchain-openai
|
|
||||||
|
|
||||||
# 3. КРИТИЧЕСКИЙ ШАГ: Переустанавливаем Langflow поверх.
|
# Переменные окружения для browserless
|
||||||
# Это заставит pip откатить несовместимые версии SQLAlchemy/SQLModel к тем, которые нужны Langflow.
|
ENV BROWSERLESS_API_URL=http://browserless.home
|
||||||
RUN /app/.venv/bin/python -m pip install --no-cache-dir langflow --force-reinstall
|
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