mirror of https://github.com/immich-app/immich.git
chore(ci): use custom base for server image build (#4456)
* Use base image for server build * Clean up build scripts * target tags for base image * use prod tag instead of runtime * use runtime stage for dev --------- Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com> Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>pull/4934/head
parent
52fe392a9e
commit
5db73c5c5c
@ -1,22 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
LOCK=$(jq -c '.packages[] | select(.name == "imagemagick")' build-lock.json)
|
||||
IMAGEMAGICK_VERSION=${IMAGEMAGICK_VERSION:=$(echo $LOCK | jq -r '.version')}
|
||||
IMAGEMAGICK_SHA256=${IMAGEMAGICK_SHA256:=$(echo $LOCK | jq -r '.sha256')}
|
||||
|
||||
echo "$IMAGEMAGICK_SHA256 $IMAGEMAGICK_VERSION.tar.gz" > imagemagick.sha256
|
||||
mkdir -p ImageMagick
|
||||
wget -nv https://github.com/ImageMagick/ImageMagick/archive/${IMAGEMAGICK_VERSION}.tar.gz
|
||||
sha256sum -c imagemagick.sha256
|
||||
tar -xvf ${IMAGEMAGICK_VERSION}.tar.gz -C ImageMagick --strip-components=1
|
||||
rm ${IMAGEMAGICK_VERSION}.tar.gz
|
||||
rm imagemagick.sha256
|
||||
patch -u ImageMagick/coders/dng.c -i use-camera-wb.patch
|
||||
cd ImageMagick
|
||||
./configure --with-modules
|
||||
make -j$(nproc)
|
||||
make install
|
||||
cd .. && rm -rf ImageMagick
|
||||
ldconfig /usr/local/lib
|
||||
@ -1,22 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
LOCK=$(jq -c '.packages[] | select(.name == "libraw")' build-lock.json)
|
||||
LIBRAW_VERSION=${LIBRAW_VERSION:=$(echo $LOCK | jq -r '.version')}
|
||||
LIBRAW_SHA256=${LIBRAW_SHA256:=$(echo $LOCK | jq -r '.sha256')}
|
||||
|
||||
echo "$LIBRAW_SHA256 $LIBRAW_VERSION.tar.gz" > libraw.sha256
|
||||
mkdir -p libraw
|
||||
wget -nv https://github.com/libraw/libraw/archive/${LIBRAW_VERSION}.tar.gz
|
||||
sha256sum -c libraw.sha256
|
||||
tar -xvf ${LIBRAW_VERSION}.tar.gz -C libraw --strip-components=1
|
||||
rm ${LIBRAW_VERSION}.tar.gz
|
||||
rm libraw.sha256
|
||||
cd libraw
|
||||
autoreconf --install
|
||||
./configure
|
||||
make -j$(nproc)
|
||||
make install
|
||||
cd .. && rm -rf libraw
|
||||
ldconfig /usr/local/lib
|
||||
@ -1,22 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
LOCK=$(jq -c '.packages[] | select(.name == "libvips")' build-lock.json)
|
||||
LIBVIPS_VERSION=${LIBVIPS_VERSION:=$(echo $LOCK | jq -r '.version')}
|
||||
LIBVIPS_SHA256=${LIBVIPS_SHA256:=$(echo $LOCK | jq -r '.sha256')}
|
||||
|
||||
echo "$LIBVIPS_SHA256 vips-$LIBVIPS_VERSION.tar.xz" > libvips.sha256
|
||||
mkdir -p libvips
|
||||
wget -nv https://github.com/libvips/libvips/releases/download/v${LIBVIPS_VERSION}/vips-${LIBVIPS_VERSION}.tar.xz
|
||||
sha256sum -c libvips.sha256
|
||||
tar -xvf vips-${LIBVIPS_VERSION}.tar.xz -C libvips --strip-components=1
|
||||
rm vips-${LIBVIPS_VERSION}.tar.xz
|
||||
rm libvips.sha256
|
||||
cd libvips
|
||||
meson setup build --buildtype=release --libdir=lib -Dintrospection=false -Dtiff=disabled
|
||||
cd build
|
||||
# ninja test # tests set concurrency too high for arm/v7
|
||||
ninja install
|
||||
cd .. && rm -rf libvips
|
||||
ldconfig /usr/local/lib
|
||||
@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
LOCK=$(jq -c '.packages[] | select(.name == "ffmpeg")' build-lock.json)
|
||||
export TARGETARCH=${TARGETARCH:=$(dpkg --print-architecture)}
|
||||
FFMPEG_VERSION=${FFMPEG_VERSION:=$(echo $LOCK | jq -r '.version')}
|
||||
FFMPEG_SHA256=${FFMPEG_SHA256:=$(echo $LOCK | jq -r '.sha256[$ENV.TARGETARCH]')}
|
||||
|
||||
echo "$FFMPEG_SHA256 jellyfin-ffmpeg6_${FFMPEG_VERSION}-bookworm_${TARGETARCH}.deb" > ffmpeg.sha256
|
||||
|
||||
wget -nv https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFMPEG_VERSION}/jellyfin-ffmpeg6_${FFMPEG_VERSION}-bookworm_${TARGETARCH}.deb
|
||||
sha256sum -c ffmpeg.sha256
|
||||
apt-get -yqq -f install ./jellyfin-ffmpeg6_${FFMPEG_VERSION}-bookworm_${TARGETARCH}.deb
|
||||
rm jellyfin-ffmpeg6_${FFMPEG_VERSION}-bookworm_${TARGETARCH}.deb
|
||||
rm ffmpeg.sha256
|
||||
ldconfig /usr/lib/jellyfin-ffmpeg/lib
|
||||
|
||||
ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin
|
||||
ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin
|
||||
@ -1,9 +0,0 @@
|
||||
@@ -339,6 +339,8 @@
|
||||
option=GetImageOption(image_info,"dng:use_camera_wb");
|
||||
if (option != (const char *) NULL)
|
||||
raw_info->params.use_camera_wb=IsStringTrue(option);
|
||||
+ else
|
||||
+ raw_info->params.use_camera_wb=MagickTrue;
|
||||
option=GetImageOption(image_info,"dng:use-auto-wb");
|
||||
if (option == (const char *) NULL)
|
||||
option=GetImageOption(image_info,"dng:use_auto_wb");
|
||||
@ -1,28 +0,0 @@
|
||||
{
|
||||
"packages": [
|
||||
{
|
||||
"name": "imagemagick",
|
||||
"version": "7.1.1-13",
|
||||
"sha256": "8e3ce1aaad19da9f2ca444072bcc631d193a219e3ee11c13ad6d3c895044142c"
|
||||
},
|
||||
{
|
||||
"name": "libraw",
|
||||
"version": "0.21.1",
|
||||
"sha256": "b63d7ffa43463f74afcc02f9083048c231349b41cc9255dec0840cf8a67b52e0"
|
||||
},
|
||||
{
|
||||
"name": "libvips",
|
||||
"version": "8.14.5",
|
||||
"sha256": "90374e9f6fbd5657b5faf306cacda20658d6144d385316b59b865bc1a487b68d"
|
||||
},
|
||||
{
|
||||
"name": "ffmpeg",
|
||||
"version": "6.0-4",
|
||||
"sha256": {
|
||||
"amd64": "18d98b292b891cde86c2a08e5e989c3430e51a136cdc232bc4162fef3b4f0f44",
|
||||
"arm64": "67eb1e5a38ac695dd253d9ac290ad0e9fb709e8260449a7445e8460b7db3c516",
|
||||
"armhf": "a29605ab0eced3511c8a6623504fab5b8bb174a486d87f94bf5522ed9a5970e6"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue