-
Notifications
You must be signed in to change notification settings - Fork 5
/
Dockerfile.parse
46 lines (41 loc) · 1.53 KB
/
Dockerfile.parse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
ARG build_type
FROM ubuntu:23.04 as base-req-build
ENV LANG=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
ENV to_install="python3 python3-pip python3-venv python-is-python3 libgl1-mesa-glx libglib2.0-0 libgdal-dev gdal-bin gdal-data webp poppler-utils poppler-data"
RUN apt-get update && \
apt-get install --no-install-recommends -y $to_install && \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*
RUN mkdir /venv
FROM ubuntu:23.04 as mutool-build
RUN pwd
COPY mupdf.patch .
COPY build_mutool.sh .
ENV CXX=clang++
ENV AR=llvm-ar
ENV pkgs="git make clang ca-certificates pkg-config llvm"
RUN apt-get update && \
apt install --no-install-recommends -y $pkgs && \
bash build_mutool.sh && \
apt-get -y --purge remove $pkgs && \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*
FROM base-req-build as base-final
RUN python -m venv /venv
COPY requirements.parse.txt /requirements.txt
RUN apt-get update && \
util_pkgs="build-essential python3-dev" && \
apt-get install --no-install-recommends -y $util_pkgs && \
GDAL_VERSION=$(gdalinfo --version | cut -d"," -f1 | cut -d" " -f2) && \
sed -i "s/gdal==.*/gdal==${GDAL_VERSION}/g" /requirements.txt && \
/venv/bin/pip install --no-cache-dir -r /requirements.txt && \
apt-get -y --purge remove $util_pkgs && \
apt-get -y autoremove && \
apt-get -y clean && \
rm -rf /var/lib/apt/lists/*
COPY --from=mutool-build /bin/mutool /bin/
ENTRYPOINT ["/venv/bin/python"]
FROM base-${build_type} AS final