FROM python:3.12.5-slim-bullseye
RUN apt-get update && \
apt-get install -y --no-install-recommends \
fontconfig \
libxrender1 \
xfonts-75dpi \
xfonts-base \
libjpeg62-turbo \
libxext6 \
curl \
&& rm -rf /var/lib/apt/lists/*
COPY resources/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb /usr/local/
RUN dpkg -i /usr/local/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb && \
apt-get install -f && \
apt-get clean && \
rm -rf /usr/local/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb && \
rm -rf /var/lib/apt/lists/*
COPY resources/font/* /usr/share/fonts/truetype/
RUN fc-cache -fv
WORKDIR /app
COPY requirements.txt /app/
RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ --no-cache-dir -r requirements.txt
COPY . /app
RUN rm -rf /app/scripts/* && rm -rf /app/resources/README_IMG/* && rm -rf /app/resources/font/* \
&& rm -f /app/resources/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb && rm -f /app/README*
ENV FLASK_APP=main.py
ENV FLASK_RUN_HOST=0.0.0.0
EXPOSE 5000
CMD ["flask", "run"]