diff --git a/Dockerfile b/Dockerfile index b3d555b..44a567e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,17 +2,18 @@ FROM langflowai/langflow:latest USER root -# Устанавливаем библиотеки СТРОГО внутрь виртуального окружения Langflow -# Это гарантирует, что версии не «разлетятся» -RUN /app/.venv/bin/python -m pip install --no-cache-dir -U \ - pydantic>=2.12.5 \ - langchain-core \ - langchain-openai \ - browser-use +# 1. Сначала обновляем pip +RUN /app/.venv/bin/python -m pip install --no-cache-dir --upgrade pip -# На всякий случай возвращаем права на папку окружения пользователю 1000 (стандарт для Docker) -# Это лечит проблемы с доступом, если они возникнут +# 2. Устанавливаем browser-use, но НЕ трогаем системные зависимости Langflow (pydantic и sqlmodel) +# Мы позволяем pip установить их, но на следующем шаге мы их "полечим" +RUN /app/.venv/bin/python -m pip install --no-cache-dir browser-use langchain-openai + +# 3. КРИТИЧЕСКИЙ ШАГ: Переустанавливаем Langflow поверх. +# Это заставит pip откатить несовместимые версии SQLAlchemy/SQLModel к тем, которые нужны Langflow. +RUN /app/.venv/bin/python -m pip install --no-cache-dir langflow --force-reinstall + +# 4. Исправляем права доступа (используем ID 1000, так как имени может не быть) RUN chown -R 1000:1000 /app/.venv -# Не используем USER langflow, так как в этом образе его нет. -# Оставляем root или просто не пишем USER — образ сам запустится от нужного ID. \ No newline at end of file +# Оставляем запуск от root или не указываем USER, чтобы Dokploy не ругался на отсутствие passwd \ No newline at end of file