Updating libxml req

This commit is contained in:
rjshrjndrn 2025-04-03 15:39:46 +02:00
parent 9c57f3db32
commit f0d6d8ea12
2 changed files with 29 additions and 11 deletions

View file

@ -1,8 +1,31 @@
FROM python:3.12-alpine
LABEL Maintainer="KRAIEM Taha Yassine<tahayk2@gmail.com>"
RUN apk add --no-cache build-base libressl libffi-dev libressl-dev libxslt-dev libxml2-dev xmlsec-dev xmlsec tini
LABEL maintainer="KRAIEM Taha Yassine<tahayk2@gmail.com>"
WORKDIR /app
COPY . .
RUN mv env.default .env
RUN apk add --no-cache tini xmlsec && \
export UV_SYSTEM_PYTHON=true && \
pip install uv && \
apk add --no-cache --virtual .build-deps \
build-base \
libressl \
libffi-dev \
libressl-dev \
libxslt-dev \
libxml2-dev \
xmlsec-dev && \
uv pip install --no-cache-dir --upgrade -r requirements.txt && \
# Solve the libxml2 library version mismatch by reinstalling lxml with matching libxml2
uv pip uninstall lxml && \
uv pip install --no-cache-dir --no-binary lxml lxml --force-reinstall && \
# Create non-root user
adduser -u 1001 openreplay -D && \
# Cleanup build dependencies
apk del .build-deps
ARG envarg
ARG GIT_SHA
ENV SOURCE_MAP_VERSION=0.7.4 \
APP_NAME=chalice \
LISTEN_PORT=8000 \
@ -10,17 +33,12 @@ ENV SOURCE_MAP_VERSION=0.7.4 \
ENTERPRISE_BUILD=${envarg} \
GIT_SHA=$GIT_SHA
WORKDIR /work
COPY requirements.txt ./requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# This code is used to solve 'lxml & xmlsec libxml2 library version mismatch' error
RUN pip uninstall -y lxml && pip install lxml
WORKDIR /app
COPY . .
RUN mv env.default .env
RUN adduser -u 1001 openreplay -D
USER 1001
ENTRYPOINT ["/sbin/tini", "--"]
CMD ./entrypoint.sh
CMD ["./entrypoint.sh"]

View file

@ -21,8 +21,8 @@ apscheduler==3.10.4
clickhouse-driver[lz4]==0.2.9
# TODO: enable after xmlsec fix https://github.com/xmlsec/python-xmlsec/issues/252
#--no-binary is used to avoid libxml2 library version incompatibilities between xmlsec and lxml
lxml >= 4.6.5, !=4.7.0, <=5.2.1
python3-saml==1.16.0 --no-binary=lxml
python3-saml==1.16.0
--no-binary=lxml
python-multipart==0.0.17
redis==5.2.0