docker: replace libjpeg-turbo with mozjpeg.
Build vips with mozjpeg instead of libjpeg-turbo. Mozjpeg is slower but has better compression. https://github.com/mozilla/mozjpeg https://libjpeg-turbo.org/About/Mozjpeg https://siipo.la/blog/is-webp-really-better-than-jpeg https://www.ctrl.blog/entry/webp-avif-comparison.html http://web.archive.org/web/20151204210024/http://people.mozilla.org/~josh/lossy_compressed_image_study_july_2014/
This commit is contained in:
@@ -5,6 +5,7 @@ set -xeuo pipefail
|
|||||||
RUBY_VERSION="${RUBY_VERSION:-3.0.3}"
|
RUBY_VERSION="${RUBY_VERSION:-3.0.3}"
|
||||||
VIPS_VERSION="${VIPS_VERSION:-8.12.1}"
|
VIPS_VERSION="${VIPS_VERSION:-8.12.1}"
|
||||||
FFMPEG_VERSION="${FFMPEG_VERSION:-4.4.1}"
|
FFMPEG_VERSION="${FFMPEG_VERSION:-4.4.1}"
|
||||||
|
MOZJPEG_VERSION="${MOZJPEG_VERSION:-4.0.3}"
|
||||||
EXIFTOOL_VERSION="${EXIFTOOL_VERSION:-12.30}"
|
EXIFTOOL_VERSION="${EXIFTOOL_VERSION:-12.30}"
|
||||||
OPENRESTY_VERSION="${OPENRESTY_VERSION:-1.19.9.1}"
|
OPENRESTY_VERSION="${OPENRESTY_VERSION:-1.19.9.1}"
|
||||||
POSTGRESQL_CLIENT_VERSION="${POSTGRESQL_CLIENT_VERSION:-14}"
|
POSTGRESQL_CLIENT_VERSION="${POSTGRESQL_CLIENT_VERSION:-14}"
|
||||||
@@ -14,15 +15,16 @@ COMMON_BUILD_DEPS="
|
|||||||
"
|
"
|
||||||
RUBY_BUILD_DEPS="libssl-dev zlib1g-dev libgmp-dev"
|
RUBY_BUILD_DEPS="libssl-dev zlib1g-dev libgmp-dev"
|
||||||
FFMPEG_BUILD_DEPS="libvpx-dev nasm"
|
FFMPEG_BUILD_DEPS="libvpx-dev nasm"
|
||||||
|
MOZJPEG_BUILD_DEPS="cmake nasm libpng-dev zlib1g-dev"
|
||||||
VIPS_BUILD_DEPS="
|
VIPS_BUILD_DEPS="
|
||||||
libfftw3-dev libwebp-dev liborc-dev liblcms2-dev libpng-dev
|
libfftw3-dev libwebp-dev liborc-dev liblcms2-dev libpng-dev
|
||||||
libjpeg-turbo8-dev libexpat1-dev libglib2.0-dev libgif-dev libexif-dev libheif-dev
|
libexpat1-dev libglib2.0-dev libgif-dev libexif-dev libheif-dev
|
||||||
"
|
"
|
||||||
EXIFTOOL_RUNTIME_DEPS="perl perl-modules libarchive-zip-perl"
|
EXIFTOOL_RUNTIME_DEPS="perl perl-modules libarchive-zip-perl"
|
||||||
DANBOORU_RUNTIME_DEPS="
|
DANBOORU_RUNTIME_DEPS="
|
||||||
ca-certificates mkvtoolnix rclone libpq5 openssl libgmpxx4ldbl
|
ca-certificates mkvtoolnix rclone libpq5 openssl libgmpxx4ldbl
|
||||||
zlib1g libfftw3-3 libwebp6 libwebpmux3 libwebpdemux2 liborc-0.4.0 liblcms2-2
|
zlib1g libfftw3-3 libwebp6 libwebpmux3 libwebpdemux2 liborc-0.4.0 liblcms2-2
|
||||||
libpng16-16 libjpeg-turbo8 libexpat1 libglib2.0 libgif7 libexif12 libheif1 libvpx6
|
libpng16-16 libexpat1 libglib2.0 libgif7 libexif12 libheif1 libvpx6
|
||||||
libseccomp2 libseccomp-dev
|
libseccomp2 libseccomp-dev
|
||||||
"
|
"
|
||||||
COMMON_RUNTIME_DEPS="
|
COMMON_RUNTIME_DEPS="
|
||||||
@@ -37,6 +39,22 @@ install_asdf() {
|
|||||||
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
|
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
install_mozjpeg() {
|
||||||
|
apt_install $MOZJPEG_BUILD_DEPS
|
||||||
|
|
||||||
|
MOZJPEG_URL="https://github.com/mozilla/mozjpeg/archive/refs/tags/v${MOZJPEG_VERSION}.tar.gz"
|
||||||
|
curl -L "$MOZJPEG_URL" | tar -C /usr/local/src -xzvf -
|
||||||
|
cd /usr/local/src/mozjpeg-${MOZJPEG_VERSION}
|
||||||
|
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
|
||||||
|
make -j "$(nproc)"
|
||||||
|
make install
|
||||||
|
|
||||||
|
cjpeg -version
|
||||||
|
}
|
||||||
|
|
||||||
install_vips() {
|
install_vips() {
|
||||||
apt_install $VIPS_BUILD_DEPS
|
apt_install $VIPS_BUILD_DEPS
|
||||||
|
|
||||||
@@ -148,6 +166,7 @@ apt-get update
|
|||||||
apt_install $COMMON_BUILD_DEPS $COMMON_RUNTIME_DEPS
|
apt_install $COMMON_BUILD_DEPS $COMMON_RUNTIME_DEPS
|
||||||
install_asdf
|
install_asdf
|
||||||
install_exiftool
|
install_exiftool
|
||||||
|
install_mozjpeg
|
||||||
install_ffmpeg
|
install_ffmpeg
|
||||||
install_vips
|
install_vips
|
||||||
install_ruby
|
install_ruby
|
||||||
|
|||||||
Reference in New Issue
Block a user