mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-08-24 08:31:51 +02:00
Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
39a27cb427 | ||
|
|
ee518802db | ||
|
|
288a40e96f | ||
|
|
6e1e9ec4e2 | ||
|
|
9d8b78daca | ||
|
|
9ef2346bac | ||
|
|
3b3a5e7d29 | ||
|
|
f19a699b71 | ||
|
|
d2fe695c49 | ||
|
|
d477a6b325 | ||
|
|
a4542eacb3 | ||
|
|
df2d700a40 | ||
|
|
a1761d4d6f |
@@ -524,6 +524,19 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
## 2026-08-21
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Immichframe: remove settings.yaml UUID placeholder [@MickLesk](https://github.com/MickLesk) ([#16660](https://github.com/community-scripts/ProxmoxVE/pull/16660))
|
||||||
|
- openziti-controller: redirect stdin from /dev/null to skip postinst's interactive bootstrap prompt [@MickLesk](https://github.com/MickLesk) ([#16650](https://github.com/community-scripts/ProxmoxVE/pull/16650))
|
||||||
|
- bookorbit: bump default RAM to prevent tsc OOM segfault during nest build [@MickLesk](https://github.com/MickLesk) ([#16649](https://github.com/community-scripts/ProxmoxVE/pull/16649))
|
||||||
|
- immich: split jpegli into its own build step, resolve library revisions dynamically [@MickLesk](https://github.com/MickLesk) ([#16656](https://github.com/community-scripts/ProxmoxVE/pull/16656))
|
||||||
|
- tdarr: make unzip non-interactive to prevent hang [@MickLesk](https://github.com/MickLesk) ([#16648](https://github.com/community-scripts/ProxmoxVE/pull/16648))
|
||||||
|
- immich: fix jpegli patch path after upstream base-images split jpegli from libjxl [@MickLesk](https://github.com/MickLesk) ([#16647](https://github.com/community-scripts/ProxmoxVE/pull/16647))
|
||||||
|
|
||||||
## 2026-08-20
|
## 2026-08-20
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="BookOrbit"
|
APP="BookOrbit"
|
||||||
var_tags="${var_tags:-books;library;reading}"
|
var_tags="${var_tags:-books;library;reading}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-10}"
|
var_disk="${var_disk:-10}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-13}"
|
var_version="${var_version:-13}"
|
||||||
|
|||||||
@@ -30,6 +30,20 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DocuSeal moved to its own patched PDFium build (FPDFPage_GetAnnotCountRaw & co.),
|
||||||
|
# which is only published as a musl binary, so existing installs need it swapped in.
|
||||||
|
ensure_dependencies musl
|
||||||
|
[[ -f /opt/pdfium/lib/libpdfium.so ]] || rm -f "$HOME/.pdfium"
|
||||||
|
fetch_and_deploy_gh_release "pdfium" "docusealco/pdfium-binaries" "prebuild" "latest" "/opt/pdfium" "pdfium-musl-$(uname -m).zip"
|
||||||
|
if ! cmp -s /opt/pdfium/lib/libpdfium.so /usr/lib/libpdfium.so; then
|
||||||
|
msg_info "Updating PDFium"
|
||||||
|
install -m 644 /opt/pdfium/lib/libpdfium.so /usr/lib/libpdfium.so
|
||||||
|
echo "/usr/lib/$(uname -m)-linux-musl" >/etc/ld.so.conf.d/musl.conf
|
||||||
|
$STD ldconfig
|
||||||
|
systemctl restart docuseal docuseal-sidekiq 2>/dev/null || true
|
||||||
|
msg_ok "Updated PDFium"
|
||||||
|
fi
|
||||||
|
|
||||||
if check_for_gh_release "docuseal" "docusealco/docuseal"; then
|
if check_for_gh_release "docuseal" "docusealco/docuseal"; then
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop docuseal docuseal-sidekiq
|
systemctl stop docuseal docuseal-sidekiq
|
||||||
|
|||||||
+60
-14
@@ -100,7 +100,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ -f ~/.immich_library_revisions ]]; then
|
if [[ -f ~/.immich_library_revisions ]]; then
|
||||||
libraries=("libjxl" "libheif" "libraw" "imagemagick" "libvips")
|
libraries=("libjxl" "jpegli" "libheif" "libraw" "imagemagick" "libvips")
|
||||||
cd "$BASE_DIR"
|
cd "$BASE_DIR"
|
||||||
msg_warn "Checking for updates to custom image-processing libraries (recompile time: 2-15min per library)"
|
msg_warn "Checking for updates to custom image-processing libraries (recompile time: 2-15min per library)"
|
||||||
$STD git pull
|
$STD git pull
|
||||||
@@ -382,10 +382,7 @@ PY
|
|||||||
|
|
||||||
function compile_libjxl() {
|
function compile_libjxl() {
|
||||||
SOURCE=${SOURCE_DIR}/libjxl
|
SOURCE=${SOURCE_DIR}/libjxl
|
||||||
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
|
LIBJXL_REVISION="$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)"
|
||||||
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
|
|
||||||
LIBJXL_REVISION="332feb17d17311c748445f7ee75c4fb55cc38530"
|
|
||||||
# : "${LIBJXL_REVISION:=$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)}"
|
|
||||||
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
if [[ "$LIBJXL_REVISION" != "$(grep 'libjxl' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||||
msg_info "Recompiling libjxl"
|
msg_info "Recompiling libjxl"
|
||||||
[[ -d "$SOURCE" ]] && rm -rf "$SOURCE"
|
[[ -d "$SOURCE" ]] && rm -rf "$SOURCE"
|
||||||
@@ -393,8 +390,6 @@ function compile_libjxl() {
|
|||||||
cd "$SOURCE"
|
cd "$SOURCE"
|
||||||
$STD git reset --hard "$LIBJXL_REVISION"
|
$STD git reset --hard "$LIBJXL_REVISION"
|
||||||
$STD git submodule update --init --recursive --depth 1 --recommend-shallow
|
$STD git submodule update --init --recursive --depth 1 --recommend-shallow
|
||||||
$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-empty-dht-marker.patch
|
|
||||||
$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-icc-warning.patch
|
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
$STD cmake \
|
$STD cmake \
|
||||||
@@ -402,15 +397,66 @@ function compile_libjxl() {
|
|||||||
-DBUILD_TESTING=OFF \
|
-DBUILD_TESTING=OFF \
|
||||||
-DJPEGXL_ENABLE_DOXYGEN=OFF \
|
-DJPEGXL_ENABLE_DOXYGEN=OFF \
|
||||||
-DJPEGXL_ENABLE_MANPAGES=OFF \
|
-DJPEGXL_ENABLE_MANPAGES=OFF \
|
||||||
-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF \
|
|
||||||
-DJPEGXL_ENABLE_BENCHMARK=OFF \
|
-DJPEGXL_ENABLE_BENCHMARK=OFF \
|
||||||
-DJPEGXL_ENABLE_EXAMPLES=OFF \
|
-DJPEGXL_ENABLE_EXAMPLES=OFF \
|
||||||
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
|
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
|
||||||
-DJPEGXL_FORCE_SYSTEM_HWY=ON \
|
-DJPEGXL_FORCE_SYSTEM_HWY=ON \
|
||||||
-DJPEGXL_ENABLE_JPEGLI=ON \
|
-DJPEGXL_ENABLE_HWY_AVX3=ON \
|
||||||
-DJPEGXL_ENABLE_JPEGLI_LIBJPEG=ON \
|
-DJPEGXL_ENABLE_HWY_AVX3_ZEN4=ON \
|
||||||
-DJPEGXL_INSTALL_JPEGLI_LIBJPEG=ON \
|
-DJPEGXL_ENABLE_HWY_SVE=OFF \
|
||||||
|
-DJPEGXL_ENABLE_HWY_SVE2=OFF \
|
||||||
|
-DJPEGXL_ENABLE_HWY_SVE2_128=ON \
|
||||||
-DJPEGXL_ENABLE_PLUGINS=ON \
|
-DJPEGXL_ENABLE_PLUGINS=ON \
|
||||||
|
..
|
||||||
|
$STD cmake --build . -- -j"$(nproc)"
|
||||||
|
$STD cmake --install .
|
||||||
|
ldconfig /usr/local/lib
|
||||||
|
$STD make clean
|
||||||
|
cd "$STAGING_DIR"
|
||||||
|
rm -rf "$SOURCE"/{build,third_party}
|
||||||
|
sed -i "s/libjxl: .*$/libjxl: $LIBJXL_REVISION/" ~/.immich_library_revisions
|
||||||
|
msg_ok "Recompiled libjxl"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function compile_jpegli() {
|
||||||
|
SOURCE=${SOURCE_DIR}/jpegli
|
||||||
|
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
|
||||||
|
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
|
||||||
|
JPEGLI_REVISION="$(jq -cr '.revision' "$BASE_DIR"/server/sources/jpegli.json)"
|
||||||
|
if [[ "$JPEGLI_REVISION" != "$(grep 'jpegli' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||||
|
msg_info "Recompiling jpegli"
|
||||||
|
[[ -d "$SOURCE" ]] && rm -rf "$SOURCE"
|
||||||
|
$STD git clone https://github.com/google/jpegli.git "$SOURCE"
|
||||||
|
cd "$SOURCE"
|
||||||
|
$STD git reset --hard "$JPEGLI_REVISION"
|
||||||
|
$STD git submodule update --init --depth 1 --recommend-shallow third_party/libjpeg-turbo
|
||||||
|
$STD git apply -3 "$BASE_DIR"/server/sources/jpegli-patches/jpegli-empty-dht-marker.patch
|
||||||
|
$STD git apply -3 "$BASE_DIR"/server/sources/jpegli-patches/jpegli-icc-warning.patch
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
$STD cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DBUILD_TESTING=OFF \
|
||||||
|
-DJPEGLI_ENABLE_DOXYGEN=OFF \
|
||||||
|
-DJPEGLI_ENABLE_MANPAGES=OFF \
|
||||||
|
-DJPEGLI_ENABLE_BENCHMARK=OFF \
|
||||||
|
-DJPEGLI_ENABLE_TOOLS=OFF \
|
||||||
|
-DJPEGLI_ENABLE_DEVTOOLS=OFF \
|
||||||
|
-DJPEGLI_ENABLE_FUZZERS=OFF \
|
||||||
|
-DJPEGLI_ENABLE_JNI=OFF \
|
||||||
|
-DJPEGLI_ENABLE_OPENEXR=OFF \
|
||||||
|
-DJPEGLI_ENABLE_SJPEG=OFF \
|
||||||
|
-DJPEGLI_ENABLE_SKCMS=OFF \
|
||||||
|
-DJPEGLI_FORCE_SYSTEM_HWY=ON \
|
||||||
|
-DJPEGLI_FORCE_SYSTEM_LCMS2=ON \
|
||||||
|
-DJPEGLI_ENABLE_JPEGLI_LIBJPEG=ON \
|
||||||
|
-DJPEGLI_INSTALL_JPEGLI_LIBJPEG=ON \
|
||||||
|
-DJPEGLI_ENABLE_HWY_AVX3=ON \
|
||||||
|
-DJPEGLI_ENABLE_HWY_AVX3_ZEN4=ON \
|
||||||
|
-DJPEGLI_ENABLE_HWY_SVE=OFF \
|
||||||
|
-DJPEGLI_ENABLE_HWY_SVE2=OFF \
|
||||||
|
-DJPEGLI_ENABLE_HWY_SVE2_128=ON \
|
||||||
-DJPEGLI_LIBJPEG_LIBRARY_SOVERSION="$JPEGLI_LIBJPEG_LIBRARY_SOVERSION" \
|
-DJPEGLI_LIBJPEG_LIBRARY_SOVERSION="$JPEGLI_LIBJPEG_LIBRARY_SOVERSION" \
|
||||||
-DJPEGLI_LIBJPEG_LIBRARY_VERSION="$JPEGLI_LIBJPEG_LIBRARY_VERSION" \
|
-DJPEGLI_LIBJPEG_LIBRARY_VERSION="$JPEGLI_LIBJPEG_LIBRARY_VERSION" \
|
||||||
-DLIBJPEG_TURBO_VERSION_NUMBER=2001005 \
|
-DLIBJPEG_TURBO_VERSION_NUMBER=2001005 \
|
||||||
@@ -421,8 +467,8 @@ function compile_libjxl() {
|
|||||||
$STD make clean
|
$STD make clean
|
||||||
cd "$STAGING_DIR"
|
cd "$STAGING_DIR"
|
||||||
rm -rf "$SOURCE"/{build,third_party}
|
rm -rf "$SOURCE"/{build,third_party}
|
||||||
sed -i "s/libjxl: .*$/libjxl: $LIBJXL_REVISION/" ~/.immich_library_revisions
|
sed -i "s/jpegli: .*$/jpegli: $JPEGLI_REVISION/" ~/.immich_library_revisions
|
||||||
msg_ok "Recompiled libjxl"
|
msg_ok "Recompiled jpegli"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -504,7 +550,7 @@ function compile_imagemagick() {
|
|||||||
|
|
||||||
function compile_libvips() {
|
function compile_libvips() {
|
||||||
SOURCE=$SOURCE_DIR/libvips
|
SOURCE=$SOURCE_DIR/libvips
|
||||||
LIBVIPS_REVISION="e01a4797cabe77d457fdfa7d776b7a7e7ca6d6a7"
|
LIBVIPS_REVISION="$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)"
|
||||||
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
if [[ "$LIBVIPS_REVISION" != "$(grep 'libvips' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||||
msg_info "Recompiling libvips"
|
msg_info "Recompiling libvips"
|
||||||
[[ -d "$SOURCE" ]] && rm -rf "$SOURCE"
|
[[ -d "$SOURCE" ]] && rm -rf "$SOURCE"
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ function update_script() {
|
|||||||
cd /opt/tdarr
|
cd /opt/tdarr
|
||||||
RELEASE=$(curl_with_retry "https://f000.backblazeb2.com/file/tdarrs/versions.json" "-" | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep "linux_$(arch_resolve "x64" "arm64")" | head -n 1)
|
RELEASE=$(curl_with_retry "https://f000.backblazeb2.com/file/tdarrs/versions.json" "-" | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep "linux_$(arch_resolve "x64" "arm64")" | head -n 1)
|
||||||
curl_with_retry "$RELEASE" "Tdarr_Updater.zip"
|
curl_with_retry "$RELEASE" "Tdarr_Updater.zip"
|
||||||
$STD unzip Tdarr_Updater.zip
|
$STD unzip -o Tdarr_Updater.zip
|
||||||
chmod +x Tdarr_Updater
|
chmod +x Tdarr_Updater
|
||||||
$STD ./Tdarr_Updater
|
$STD ./Tdarr_Updater
|
||||||
rm -rf /opt/tdarr/Tdarr_Updater.zip
|
rm -rf /opt/tdarr/Tdarr_Updater.zip
|
||||||
|
|||||||
@@ -29,16 +29,16 @@ $STD apt install -y \
|
|||||||
libvips-dev \
|
libvips-dev \
|
||||||
libheif1 \
|
libheif1 \
|
||||||
redis-server \
|
redis-server \
|
||||||
fontconfig
|
fontconfig \
|
||||||
|
musl
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||||
PG_VERSION="17" setup_postgresql
|
PG_VERSION="17" setup_postgresql
|
||||||
PG_DB_NAME="docuseal" PG_DB_USER="docuseal" setup_postgresql_db
|
PG_DB_NAME="docuseal" PG_DB_USER="docuseal" setup_postgresql_db
|
||||||
|
|
||||||
msg_info "Downloading Fonts and PDFium"
|
msg_info "Downloading Fonts"
|
||||||
mkdir -p /opt/fonts /usr/share/fonts/noto
|
mkdir -p /opt/fonts /usr/share/fonts/noto
|
||||||
ARCH=$(uname -m | sed 's/x86_64/x64/;s/aarch64/arm64/')
|
|
||||||
curl -fsSL -o /opt/fonts/GoNotoKurrent-Regular.ttf \
|
curl -fsSL -o /opt/fonts/GoNotoKurrent-Regular.ttf \
|
||||||
https://github.com/satbyy/go-noto-universal/releases/download/v7.0/GoNotoKurrent-Regular.ttf
|
https://github.com/satbyy/go-noto-universal/releases/download/v7.0/GoNotoKurrent-Regular.ttf
|
||||||
curl -fsSL -o /opt/fonts/GoNotoKurrent-Bold.ttf \
|
curl -fsSL -o /opt/fonts/GoNotoKurrent-Bold.ttf \
|
||||||
@@ -48,12 +48,18 @@ curl -fsSL -o /opt/fonts/DancingScript-Regular.otf \
|
|||||||
ln -sf /opt/fonts/GoNotoKurrent-Regular.ttf /usr/share/fonts/noto/
|
ln -sf /opt/fonts/GoNotoKurrent-Regular.ttf /usr/share/fonts/noto/
|
||||||
ln -sf /opt/fonts/GoNotoKurrent-Bold.ttf /usr/share/fonts/noto/
|
ln -sf /opt/fonts/GoNotoKurrent-Bold.ttf /usr/share/fonts/noto/
|
||||||
$STD fc-cache -f
|
$STD fc-cache -f
|
||||||
curl -fsSL -o /tmp/pdfium.tgz \
|
msg_ok "Downloaded Fonts"
|
||||||
"https://github.com/bblanchon/pdfium-binaries/releases/latest/download/pdfium-linux-${ARCH}.tgz"
|
|
||||||
mkdir -p /tmp/pdfium && tar -xzf /tmp/pdfium.tgz -C /tmp/pdfium
|
# DocuSeal calls PDFium functions that only exist in its own patched build
|
||||||
cp /tmp/pdfium/lib/libpdfium.so /usr/lib/libpdfium.so
|
# (FPDFPage_GetAnnotCountRaw & co.), so the upstream binaries are used. They are
|
||||||
rm -rf /tmp/pdfium /tmp/pdfium.tgz
|
# only published as musl builds, which need the musl runtime to be loadable.
|
||||||
msg_ok "Downloaded Fonts and PDFium"
|
fetch_and_deploy_gh_release "pdfium" "docusealco/pdfium-binaries" "prebuild" "latest" "/opt/pdfium" "pdfium-musl-$(uname -m).zip"
|
||||||
|
|
||||||
|
msg_info "Installing PDFium"
|
||||||
|
install -m 644 /opt/pdfium/lib/libpdfium.so /usr/lib/libpdfium.so
|
||||||
|
echo "/usr/lib/$(uname -m)-linux-musl" >/etc/ld.so.conf.d/musl.conf
|
||||||
|
$STD ldconfig
|
||||||
|
msg_ok "Installed PDFium"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "docuseal" "docusealco/docuseal" "tarball"
|
fetch_and_deploy_gh_release "docuseal" "docusealco/docuseal" "tarball"
|
||||||
|
|
||||||
|
|||||||
+62
-21
@@ -183,19 +183,14 @@ SOURCE_DIR=${STAGING_DIR}/image-source
|
|||||||
$STD git clone -b main "$BASE_REPO" "$BASE_DIR"
|
$STD git clone -b main "$BASE_REPO" "$BASE_DIR"
|
||||||
mkdir -p "$SOURCE_DIR"
|
mkdir -p "$SOURCE_DIR"
|
||||||
|
|
||||||
msg_info "(1/5) Compiling libjxl"
|
msg_info "(1/6) Compiling libjxl"
|
||||||
cd "$STAGING_DIR"
|
cd "$STAGING_DIR"
|
||||||
SOURCE=${SOURCE_DIR}/libjxl
|
SOURCE=${SOURCE_DIR}/libjxl
|
||||||
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
|
LIBJXL_REVISION="$(jq -cr '.revision' "$BASE_DIR"/server/sources/libjxl.json)"
|
||||||
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
|
|
||||||
LIBJXL_REVISION="332feb17d17311c748445f7ee75c4fb55cc38530"
|
|
||||||
# : "${LIBJXL_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libjxl.json)}"
|
|
||||||
$STD git clone https://github.com/libjxl/libjxl.git "$SOURCE"
|
$STD git clone https://github.com/libjxl/libjxl.git "$SOURCE"
|
||||||
cd "$SOURCE"
|
cd "$SOURCE"
|
||||||
$STD git reset --hard "$LIBJXL_REVISION"
|
$STD git reset --hard "$LIBJXL_REVISION"
|
||||||
$STD git submodule update --init --recursive --depth 1 --recommend-shallow
|
$STD git submodule update --init --recursive --depth 1 --recommend-shallow
|
||||||
$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-empty-dht-marker.patch
|
|
||||||
$STD git apply "$BASE_DIR"/server/sources/libjxl-patches/jpegli-icc-warning.patch
|
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
$STD cmake \
|
$STD cmake \
|
||||||
@@ -203,15 +198,60 @@ $STD cmake \
|
|||||||
-DBUILD_TESTING=OFF \
|
-DBUILD_TESTING=OFF \
|
||||||
-DJPEGXL_ENABLE_DOXYGEN=OFF \
|
-DJPEGXL_ENABLE_DOXYGEN=OFF \
|
||||||
-DJPEGXL_ENABLE_MANPAGES=OFF \
|
-DJPEGXL_ENABLE_MANPAGES=OFF \
|
||||||
-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF \
|
|
||||||
-DJPEGXL_ENABLE_BENCHMARK=OFF \
|
-DJPEGXL_ENABLE_BENCHMARK=OFF \
|
||||||
-DJPEGXL_ENABLE_EXAMPLES=OFF \
|
-DJPEGXL_ENABLE_EXAMPLES=OFF \
|
||||||
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
|
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
|
||||||
-DJPEGXL_FORCE_SYSTEM_HWY=ON \
|
-DJPEGXL_FORCE_SYSTEM_HWY=ON \
|
||||||
-DJPEGXL_ENABLE_JPEGLI=ON \
|
-DJPEGXL_ENABLE_HWY_AVX3=ON \
|
||||||
-DJPEGXL_ENABLE_JPEGLI_LIBJPEG=ON \
|
-DJPEGXL_ENABLE_HWY_AVX3_ZEN4=ON \
|
||||||
-DJPEGXL_INSTALL_JPEGLI_LIBJPEG=ON \
|
-DJPEGXL_ENABLE_HWY_SVE=OFF \
|
||||||
|
-DJPEGXL_ENABLE_HWY_SVE2=OFF \
|
||||||
|
-DJPEGXL_ENABLE_HWY_SVE2_128=ON \
|
||||||
-DJPEGXL_ENABLE_PLUGINS=ON \
|
-DJPEGXL_ENABLE_PLUGINS=ON \
|
||||||
|
..
|
||||||
|
$STD cmake --build . -- -j"$(nproc)"
|
||||||
|
$STD cmake --install .
|
||||||
|
ldconfig /usr/local/lib
|
||||||
|
$STD make clean
|
||||||
|
cd "$STAGING_DIR"
|
||||||
|
rm -rf "$SOURCE"/{build,third_party}
|
||||||
|
msg_ok "(1/6) Compiled libjxl"
|
||||||
|
|
||||||
|
msg_info "(2/6) Compiling jpegli"
|
||||||
|
SOURCE=${SOURCE_DIR}/jpegli
|
||||||
|
JPEGLI_LIBJPEG_LIBRARY_SOVERSION="62"
|
||||||
|
JPEGLI_LIBJPEG_LIBRARY_VERSION="62.3.0"
|
||||||
|
JPEGLI_REVISION="$(jq -cr '.revision' "$BASE_DIR"/server/sources/jpegli.json)"
|
||||||
|
$STD git clone https://github.com/google/jpegli.git "$SOURCE"
|
||||||
|
cd "$SOURCE"
|
||||||
|
$STD git reset --hard "$JPEGLI_REVISION"
|
||||||
|
$STD git submodule update --init --depth 1 --recommend-shallow third_party/libjpeg-turbo
|
||||||
|
$STD git apply -3 "$BASE_DIR"/server/sources/jpegli-patches/jpegli-empty-dht-marker.patch
|
||||||
|
$STD git apply -3 "$BASE_DIR"/server/sources/jpegli-patches/jpegli-icc-warning.patch
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
$STD cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DBUILD_TESTING=OFF \
|
||||||
|
-DJPEGLI_ENABLE_DOXYGEN=OFF \
|
||||||
|
-DJPEGLI_ENABLE_MANPAGES=OFF \
|
||||||
|
-DJPEGLI_ENABLE_BENCHMARK=OFF \
|
||||||
|
-DJPEGLI_ENABLE_TOOLS=OFF \
|
||||||
|
-DJPEGLI_ENABLE_DEVTOOLS=OFF \
|
||||||
|
-DJPEGLI_ENABLE_FUZZERS=OFF \
|
||||||
|
-DJPEGLI_ENABLE_JNI=OFF \
|
||||||
|
-DJPEGLI_ENABLE_OPENEXR=OFF \
|
||||||
|
-DJPEGLI_ENABLE_SJPEG=OFF \
|
||||||
|
-DJPEGLI_ENABLE_SKCMS=OFF \
|
||||||
|
-DJPEGLI_FORCE_SYSTEM_HWY=ON \
|
||||||
|
-DJPEGLI_FORCE_SYSTEM_LCMS2=ON \
|
||||||
|
-DJPEGLI_ENABLE_JPEGLI_LIBJPEG=ON \
|
||||||
|
-DJPEGLI_INSTALL_JPEGLI_LIBJPEG=ON \
|
||||||
|
-DJPEGLI_ENABLE_HWY_AVX3=ON \
|
||||||
|
-DJPEGLI_ENABLE_HWY_AVX3_ZEN4=ON \
|
||||||
|
-DJPEGLI_ENABLE_HWY_SVE=OFF \
|
||||||
|
-DJPEGLI_ENABLE_HWY_SVE2=OFF \
|
||||||
|
-DJPEGLI_ENABLE_HWY_SVE2_128=ON \
|
||||||
-DJPEGLI_LIBJPEG_LIBRARY_SOVERSION="$JPEGLI_LIBJPEG_LIBRARY_SOVERSION" \
|
-DJPEGLI_LIBJPEG_LIBRARY_SOVERSION="$JPEGLI_LIBJPEG_LIBRARY_SOVERSION" \
|
||||||
-DJPEGLI_LIBJPEG_LIBRARY_VERSION="$JPEGLI_LIBJPEG_LIBRARY_VERSION" \
|
-DJPEGLI_LIBJPEG_LIBRARY_VERSION="$JPEGLI_LIBJPEG_LIBRARY_VERSION" \
|
||||||
-DLIBJPEG_TURBO_VERSION_NUMBER=2001005 \
|
-DLIBJPEG_TURBO_VERSION_NUMBER=2001005 \
|
||||||
@@ -222,9 +262,9 @@ ldconfig /usr/local/lib
|
|||||||
$STD make clean
|
$STD make clean
|
||||||
cd "$STAGING_DIR"
|
cd "$STAGING_DIR"
|
||||||
rm -rf "$SOURCE"/{build,third_party}
|
rm -rf "$SOURCE"/{build,third_party}
|
||||||
msg_ok "(1/5) Compiled libjxl"
|
msg_ok "(2/6) Compiled jpegli"
|
||||||
|
|
||||||
msg_info "(2/5) Compiling libheif"
|
msg_info "(3/6) Compiling libheif"
|
||||||
SOURCE=${SOURCE_DIR}/libheif
|
SOURCE=${SOURCE_DIR}/libheif
|
||||||
LIBHEIF_REVISION="62f1b8c76ed4d8305071fdacbe74ef9717bacac5"
|
LIBHEIF_REVISION="62f1b8c76ed4d8305071fdacbe74ef9717bacac5"
|
||||||
# : "${LIBHEIF_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libheif.json)}"
|
# : "${LIBHEIF_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libheif.json)}"
|
||||||
@@ -248,9 +288,9 @@ ldconfig /usr/local/lib
|
|||||||
$STD make clean
|
$STD make clean
|
||||||
cd "$STAGING_DIR"
|
cd "$STAGING_DIR"
|
||||||
rm -rf "$SOURCE"/build
|
rm -rf "$SOURCE"/build
|
||||||
msg_ok "(2/5) Compiled libheif"
|
msg_ok "(3/6) Compiled libheif"
|
||||||
|
|
||||||
msg_info "(3/5) Compiling libraw"
|
msg_info "(4/6) Compiling libraw"
|
||||||
SOURCE=${SOURCE_DIR}/libraw
|
SOURCE=${SOURCE_DIR}/libraw
|
||||||
LIBRAW_REVISION="b860248a89d9082b8e0a1e202e516f46af9adb29"
|
LIBRAW_REVISION="b860248a89d9082b8e0a1e202e516f46af9adb29"
|
||||||
# : "${LIBRAW_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libraw.json)}"
|
# : "${LIBRAW_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libraw.json)}"
|
||||||
@@ -264,9 +304,9 @@ $STD make install
|
|||||||
ldconfig /usr/local/lib
|
ldconfig /usr/local/lib
|
||||||
$STD make clean
|
$STD make clean
|
||||||
cd "$STAGING_DIR"
|
cd "$STAGING_DIR"
|
||||||
msg_ok "(3/5) Compiled libraw"
|
msg_ok "(4/6) Compiled libraw"
|
||||||
|
|
||||||
msg_info "(4/5) Compiling imagemagick"
|
msg_info "(5/6) Compiling imagemagick"
|
||||||
SOURCE=$SOURCE_DIR/imagemagick
|
SOURCE=$SOURCE_DIR/imagemagick
|
||||||
: "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/imagemagick.json)}"
|
: "${IMAGEMAGICK_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/imagemagick.json)}"
|
||||||
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
|
$STD git clone https://github.com/ImageMagick/ImageMagick.git "$SOURCE"
|
||||||
@@ -278,11 +318,11 @@ $STD make install
|
|||||||
ldconfig /usr/local/lib
|
ldconfig /usr/local/lib
|
||||||
$STD make clean
|
$STD make clean
|
||||||
cd "$STAGING_DIR"
|
cd "$STAGING_DIR"
|
||||||
msg_ok "(4/5) Compiled imagemagick"
|
msg_ok "(5/6) Compiled imagemagick"
|
||||||
|
|
||||||
msg_info "(5/5) Compiling libvips"
|
msg_info "(6/6) Compiling libvips"
|
||||||
SOURCE=$SOURCE_DIR/libvips
|
SOURCE=$SOURCE_DIR/libvips
|
||||||
LIBVIPS_REVISION="e01a4797cabe77d457fdfa7d776b7a7e7ca6d6a7"
|
LIBVIPS_REVISION="$(jq -cr '.revision' "$BASE_DIR"/server/sources/libvips.json)"
|
||||||
$STD git clone https://github.com/libvips/libvips.git "$SOURCE"
|
$STD git clone https://github.com/libvips/libvips.git "$SOURCE"
|
||||||
cd "$SOURCE"
|
cd "$SOURCE"
|
||||||
$STD git reset --hard "$LIBVIPS_REVISION"
|
$STD git reset --hard "$LIBVIPS_REVISION"
|
||||||
@@ -293,9 +333,10 @@ $STD ninja install
|
|||||||
ldconfig /usr/local/lib
|
ldconfig /usr/local/lib
|
||||||
cd "$STAGING_DIR"
|
cd "$STAGING_DIR"
|
||||||
rm -rf "$SOURCE"/build
|
rm -rf "$SOURCE"/build
|
||||||
msg_ok "(5/5) Compiled libvips"
|
msg_ok "(6/6) Compiled libvips"
|
||||||
cat <<EOF >~/.immich_library_revisions
|
cat <<EOF >~/.immich_library_revisions
|
||||||
imagemagick: $IMAGEMAGICK_REVISION
|
imagemagick: $IMAGEMAGICK_REVISION
|
||||||
|
jpegli: $JPEGLI_REVISION
|
||||||
libheif: $LIBHEIF_REVISION
|
libheif: $LIBHEIF_REVISION
|
||||||
libjxl: $LIBJXL_REVISION
|
libjxl: $LIBJXL_REVISION
|
||||||
libraw: $LIBRAW_REVISION
|
libraw: $LIBRAW_REVISION
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ cp -r build/* /opt/immichframe/wwwroot
|
|||||||
rm -rf /tmp/immichframe
|
rm -rf /tmp/immichframe
|
||||||
mkdir -p /opt/immichframe/Config
|
mkdir -p /opt/immichframe/Config
|
||||||
curl -fsSL "https://raw.githubusercontent.com/immichFrame/ImmichFrame/main/docker/Settings.example.yml" -o /opt/immichframe/Config/Settings.yml
|
curl -fsSL "https://raw.githubusercontent.com/immichFrame/ImmichFrame/main/docker/Settings.example.yml" -o /opt/immichframe/Config/Settings.yml
|
||||||
|
sed -i '/^[[:space:]]*- UUID[[:space:]]*$/d' /opt/immichframe/Config/Settings.yml
|
||||||
useradd -r -s /sbin/nologin -d /opt/immichframe -M immichframe
|
useradd -r -s /sbin/nologin -d /opt/immichframe -M immichframe
|
||||||
chown -R immichframe:immichframe /opt/immichframe
|
chown -R immichframe:immichframe /opt/immichframe
|
||||||
msg_ok "Setup ImmichFrame"
|
msg_ok "Setup ImmichFrame"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ Components: main
|
|||||||
Signed-By: /usr/share/keyrings/openziti.gpg
|
Signed-By: /usr/share/keyrings/openziti.gpg
|
||||||
EOF
|
EOF
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install -y openziti-controller openziti-console
|
$STD apt install -y openziti-controller openziti-console </dev/null
|
||||||
msg_ok "Installed openziti"
|
msg_ok "Installed openziti"
|
||||||
|
|
||||||
read -r -p "${TAB3}Would you like to go through the auto configuration now? <y/N>" prompt
|
read -r -p "${TAB3}Would you like to go through the auto configuration now? <y/N>" prompt
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ mkdir -p /opt/tdarr
|
|||||||
cd /opt/tdarr
|
cd /opt/tdarr
|
||||||
RELEASE=$(curl_with_retry "https://f000.backblazeb2.com/file/tdarrs/versions.json" "-" | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep "linux_$(arch_resolve "x64" "arm64")" | head -n 1)
|
RELEASE=$(curl_with_retry "https://f000.backblazeb2.com/file/tdarrs/versions.json" "-" | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep "linux_$(arch_resolve "x64" "arm64")" | head -n 1)
|
||||||
curl_with_retry "$RELEASE" "Tdarr_Updater.zip"
|
curl_with_retry "$RELEASE" "Tdarr_Updater.zip"
|
||||||
$STD unzip Tdarr_Updater.zip
|
$STD unzip -o Tdarr_Updater.zip
|
||||||
chmod +x Tdarr_Updater
|
chmod +x Tdarr_Updater
|
||||||
$STD ./Tdarr_Updater
|
$STD ./Tdarr_Updater
|
||||||
rm -rf /opt/tdarr/Tdarr_Updater.zip
|
rm -rf /opt/tdarr/Tdarr_Updater.zip
|
||||||
|
|||||||
Reference in New Issue
Block a user