Files
searxng/container/builder.dockerfile
T

30 lines
1.1 KiB
Docker
Raw Normal View History

2025-08-07 10:46:26 +02:00
FROM ghcr.io/searxng/base:searxng-builder AS builder
ARG TIMESTAMP_VENV="0"
2025-08-07 10:46:26 +02:00
COPY ./requirements.txt ./requirements-server.txt ./
2025-09-14 10:36:21 +02:00
RUN --mount=type=cache,id=uv,target=/root/.cache/uv set -eux -o pipefail; \
export SOURCE_DATE_EPOCH="$TIMESTAMP_VENV"; \
2025-09-14 10:36:21 +02:00
uv venv; \
uv pip install --no-managed-python --compile-bytecode --requirements ./requirements.txt --requirements ./requirements-server.txt; \
uv cache prune --ci; \
find ./.venv/lib/python*/site-packages/*.dist-info/ -type f -name "RECORD" -exec sort -t, -k1,1 -o {} {} \;; \
find ./.venv/ -exec touch -h --date="@$TIMESTAMP_VENV" {} +; \
unset SOURCE_DATE_EPOCH
2025-08-07 10:46:26 +02:00
# use "--exclude=./searx/version_frozen.py" when actions/runner-images updates to Podman 5.0+
2025-08-07 10:46:26 +02:00
COPY ./searx/ ./searx/
ARG TIMESTAMP_SETTINGS="0"
RUN set -eux -o pipefail; \
2025-08-07 10:46:26 +02:00
python -m compileall -q ./searx/; \
find ./searx/static/ -type f \
2025-09-14 10:36:21 +02:00
\( -name "*.html" -o -name "*.css" -o -name "*.js" -o -name "*.svg" \) \
-exec gzip -9 -k {} + \
-exec brotli -9 -k {} + \
-exec gzip --test {}.gz + \
-exec brotli --test {}.br +; \
touch -c --date="@$TIMESTAMP_SETTINGS" ./searx/settings.yml