mirror of
https://github.com/langflow-ai/langflow.git
synced 2026-07-24 08:23:43 +08:00
* feat: DuckDuckGo Extension for bundles * fix ruff errors * Update test_pilot_duckduckgo_upgrade.py * test(lfx): handle non-empty canonical migration table + editable installs - test_path_override_bypasses_cache: mirror the cached canonical table into the temp file instead of asserting it's empty. Drift in migration_table.json (the duckduckgo entries shipped with the B1 pilot) no longer breaks the cache-bypass invariant. - test_lfx_duckduckgo_ships_manifest: editable installs (pip install -e) surface only dist-info entries in dist.files, so we cannot use that path to find extension.json in the workspace venv. Detect editable mode via direct_url.json's PEP 660 marker and fall through to walking the source tree; non-editable wheel installs still exercise the dist.files path the loader uses at runtime. * chore: auto-bake note keys and regenerate backend locales/en.json [skip ci] * fix(docker): copy src/bundles before uv sync so workspace bundles resolve Each directory under ``src/bundles`` is a uv workspace member referenced by ``langflow-base`` (and the root project) as a path dependency. The Docker builders ran ``uv sync --no-install-project`` after copying only the top-level pyproject.toml files, so resolution failed with ``Distribution not found at: file:///app/src/bundles/<name>``. Copying the whole ``src/bundles`` tree (rather than enumerating each bundle) means a new bundle dropped under that dir does not require a Dockerfile edit. The full ``./src`` copy a few lines later produces the same final layer either way; this earlier copy just unblocks the dependency-resolution sync. Touched all builders that run a workspace-resolving uv sync: * docker/build_and_push.Dockerfile * docker/build_and_push_base.Dockerfile * docker/build_and_push_ep.Dockerfile * docker/build_and_push_with_extras.Dockerfile * docker/dev.Dockerfile (bind-mount instead of COPY) --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
37 lines
1.3 KiB
Docker
37 lines
1.3 KiB
Docker
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
|
|
ENV TZ=UTC
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update \
|
|
&& apt-get upgrade -y \
|
|
&& apt-get install -y \
|
|
build-essential \
|
|
curl \
|
|
npm \
|
|
git \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY . /app
|
|
|
|
# Install dependencies using uv
|
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
--mount=type=bind,source=uv.lock,target=uv.lock \
|
|
--mount=type=bind,source=README.md,target=README.md \
|
|
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
|
--mount=type=bind,source=src/backend/base/README.md,target=src/backend/base/README.md \
|
|
--mount=type=bind,source=src/backend/base/uv.lock,target=src/backend/base/uv.lock \
|
|
--mount=type=bind,source=src/backend/base/pyproject.toml,target=src/backend/base/pyproject.toml \
|
|
--mount=type=bind,source=src/lfx/README.md,target=src/lfx/README.md \
|
|
--mount=type=bind,source=src/lfx/pyproject.toml,target=src/lfx/pyproject.toml \
|
|
--mount=type=bind,source=src/sdk/README.md,target=src/sdk/README.md \
|
|
--mount=type=bind,source=src/sdk/pyproject.toml,target=src/sdk/pyproject.toml \
|
|
--mount=type=bind,source=src/bundles,target=src/bundles \
|
|
uv sync --frozen --no-install-project --no-dev --extra postgresql
|
|
|
|
EXPOSE 7860
|
|
EXPOSE 3000
|
|
|
|
CMD ["./docker/dev.start.sh"]
|