diff options
| author | Ivan Gabaldon <igabaldon@inetol.net> | 2025-09-23 20:34:28 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-23 20:34:28 +0200 |
| commit | d2e2802514fdd153e2c5791c3ddc3901d08a7be7 (patch) | |
| tree | a917af247dc0273bdba2df6ce49cc6fb67ae33ba | |
| parent | a57b29b009ca65b2ed49e09fb000fc1a6b58153e (diff) | |
[fix] utils: variable expansion (#5237)
Docker buildx outputs the following error:
variable expansion is not supported for --from, define a new stage with FROM
using ARG from global scope as a workaround.
Also force BuildKit extension to be installed, legacy build is no longer
supported.
Closes https://github.com/searxng/searxng/issues/5219
| -rw-r--r-- | container/dist.dockerfile | 9 | ||||
| -rw-r--r-- | utils/lib_sxng_container.sh | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/container/dist.dockerfile b/container/dist.dockerfile index b16f432e4..66ece521f 100644 --- a/container/dist.dockerfile +++ b/container/dist.dockerfile @@ -1,10 +1,11 @@ -FROM ghcr.io/searxng/base:searxng AS dist - ARG CONTAINER_IMAGE_ORGANIZATION="searxng" ARG CONTAINER_IMAGE_NAME="searxng" -COPY --chown=searxng:searxng --from=localhost/$CONTAINER_IMAGE_ORGANIZATION/$CONTAINER_IMAGE_NAME:builder /usr/local/searxng/.venv/ ./.venv/ -COPY --chown=searxng:searxng --from=localhost/$CONTAINER_IMAGE_ORGANIZATION/$CONTAINER_IMAGE_NAME:builder /usr/local/searxng/searx/ ./searx/ +FROM localhost/$CONTAINER_IMAGE_ORGANIZATION/$CONTAINER_IMAGE_NAME:builder AS builder +FROM ghcr.io/searxng/base:searxng AS dist + +COPY --chown=searxng:searxng --from=builder /usr/local/searxng/.venv/ ./.venv/ +COPY --chown=searxng:searxng --from=builder /usr/local/searxng/searx/ ./searx/ COPY --chown=searxng:searxng ./container/ ./ #COPY --chown=searxng:searxng ./searx/version_frozen.py ./searx/ diff --git a/utils/lib_sxng_container.sh b/utils/lib_sxng_container.sh index 27d6c5414..eee218c06 100644 --- a/utils/lib_sxng_container.sh +++ b/utils/lib_sxng_container.sh @@ -62,6 +62,10 @@ container.build() { esac info_msg "Selected platform: $platform" + if [ "$container_engine" = "docker" ] && ! docker buildx version &>/dev/null; then + die 42 "docker buildx is not installed: https://docs.docker.com/go/buildx/" + fi + pyenv.install ( |