升级构建容器的系统为ubuntu22.04及对应的wkhtml版本

This commit is contained in:
jingrow 2025-11-03 19:39:55 +08:00
parent 43e0a993fa
commit e223caff2c

View File

@ -1,5 +1,5 @@
# syntax = docker/dockerfile:experimental # syntax = docker/dockerfile:experimental
FROM ubuntu:20.04 FROM ubuntu:22.04
ENV LANG C.UTF-8 ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
@ -15,6 +15,7 @@ RUN --mount=type=cache,target=/var/cache/apt apt-get update \
git \ git \
mariadb-client \ mariadb-client \
libmariadb-dev \ libmariadb-dev \
pkg-config \
pv \ pv \
ntp \ ntp \
wget \ wget \
@ -37,6 +38,8 @@ RUN --mount=type=cache,target=/var/cache/apt apt-get update \
libharfbuzz0b \ libharfbuzz0b \
libpangoft2-1.0-0 \ libpangoft2-1.0-0 \
libpangocairo-1.0-0 \ libpangocairo-1.0-0 \
# Chromium and dependencies
chromium-browser \
# wkhtmltopdf dependencies # wkhtmltopdf dependencies
ca-certificates \ ca-certificates \
fontconfig \ fontconfig \
@ -61,7 +64,7 @@ COPY --chown=root:root supervisord.conf /etc/supervisor/supervisord.conf
# Install Redis from PPA # Install Redis from PPA
RUN --mount=type=cache,target=/var/cache/apt curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \ RUN --mount=type=cache,target=/var/cache/apt curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb focal main" | tee /etc/apt/sources.list.d/redis.list \ && echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb jammy main" | tee /etc/apt/sources.list.d/redis.list \
&& apt-get update \ && apt-get update \
&& apt-get install --yes --no-install-suggests --no-install-recommends \ && apt-get install --yes --no-install-suggests --no-install-recommends \
redis-server \ redis-server \
@ -69,13 +72,12 @@ RUN --mount=type=cache,target=/var/cache/apt curl -fsSL https://packages.redis.i
# Install Python from DeadSnakes PPA # Install Python from DeadSnakes PPA
ENV {{ pg.get_dependency_version("python", True) }} ENV {{ pg.get_dependency_version("python", True) }}
RUN --mount=type=cache,target=/var/cache/apt add-apt-repository ppa:deadsnakes/ppa \ RUN --mount=type=cache,target=/var/cache/apt add-apt-repository -y ppa:deadsnakes/ppa \
&& apt-get update \ && apt-get update \
&& apt-get install --yes --no-install-suggests --no-install-recommends \ && apt-get install --yes --no-install-suggests --no-install-recommends \
python${PYTHON_VERSION} \ python${PYTHON_VERSION} \
python${PYTHON_VERSION}-dev \ python${PYTHON_VERSION}-dev \
python${PYTHON_VERSION}-venv \ python${PYTHON_VERSION}-venv \
python${PYTHON_VERSION}-distutils \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
`#stage-pre-python` `#stage-pre-python`
@ -83,14 +85,14 @@ RUN --mount=type=cache,target=/var/cache/apt add-apt-repository ppa:deadsnakes/p
# Install wkhtmltopdf # Install wkhtmltopdf
ENV {{ pg.get_dependency_version("wkhtmltopdf", True) }} ENV {{ pg.get_dependency_version("wkhtmltopdf", True) }}
{% if pg.get_dependency_version("wkhtmltopdf") == '0.12.6' %} {% if pg.get_dependency_version("wkhtmltopdf") == '0.12.6' %}
RUN wget http://npm.jingrow.com:105/wkhtmltox_0.12.6-1.focal_amd64.deb \ RUN wget http://npm.jingrow.com:105/wkhtmltox_0.12.6.1-2.jammy_amd64.deb \
&& dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb \ && dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb \
&& rm wkhtmltox_0.12.6-1.focal_amd64.deb \ && rm wkhtmltox_0.12.6.1-2.jammy_amd64.deb \
`#stage-pre-wkhtmltopdf` `#stage-pre-wkhtmltopdf`
{% elif pg.get_dependency_version("wkhtmltopdf") == '0.12.5' %} {% elif pg.get_dependency_version("wkhtmltopdf") == '0.12.5' %}
RUN wget http://npm.jingrow.com:105/wkhtmltox_0.12.5-1.focal_amd64.deb \ RUN wget http://npm.jingrow.com:105/wkhtmltox_0.12.5-1.jammy_amd64.deb \
&& dpkg -i wkhtmltox_0.12.5-1.focal_amd64.deb \ && dpkg -i wkhtmltox_0.12.5-1.jammy_amd64.deb \
&& rm wkhtmltox_0.12.5-1.focal_amd64.deb \ && rm wkhtmltox_0.12.5-1.jammy_amd64.deb \
`#stage-pre-wkhtmltopdf` `#stage-pre-wkhtmltopdf`
{% elif pg.get_dependency_version("wkhtmltopdf") == '0.12.4' %} {% elif pg.get_dependency_version("wkhtmltopdf") == '0.12.4' %}
RUN wget http://npm.jingrow.com:105/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \ RUN wget http://npm.jingrow.com:105/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \