From 432d3df91c7300e4cad299ce5278826b17ee267c Mon Sep 17 00:00:00 2001 From: Sam Heinz <54530346+asylumexp@users.noreply.github.com> Date: Sun, 21 Jun 2026 02:48:58 +1000 Subject: [PATCH] [arm64] Port scripts between komga-mediamanager to support arm64 adds override to make debian cts on arm64 use ubuntu mongodb binaries --- ct/komga.sh | 2 +- ct/kubo.sh | 4 ++-- ct/kutt.sh | 2 +- ct/languagetool.sh | 2 +- ct/lazylibrarian.sh | 2 +- ct/librechat.sh | 2 +- ct/librenms.sh | 2 +- ct/librespeed-rust.sh | 4 ++-- ct/libretranslate.sh | 2 +- ct/lidarr.sh | 4 ++-- ct/limesurvey.sh | 4 ++-- ct/linkding.sh | 4 ++-- ct/listmonk.sh | 4 ++-- ct/livebook.sh | 2 +- ct/lobehub.sh | 2 +- ct/loki.sh | 2 +- ct/lychee.sh | 2 +- ct/lyrionmusicserver.sh | 9 +++++---- ct/mail-archiver.sh | 2 +- ct/managemydamnlife.sh | 2 +- ct/manyfold.sh | 2 +- ct/matomo.sh | 2 +- ct/matter-server.sh | 4 ++-- ct/matterjs-server.sh | 2 +- ct/mediamanager.sh | 2 +- install/komga-install.sh | 4 ++-- install/kubo-install.sh | 3 ++- install/lazylibrarian-install.sh | 10 +++++----- install/librespeed-rust-install.sh | 2 +- install/lidarr-install.sh | 3 ++- install/linkding-install.sh | 2 +- install/listmonk-install.sh | 2 +- install/lyrionmusicserver-install.sh | 7 ++++--- install/mail-archiver-install.sh | 8 +++++++- install/matter-server-install.sh | 2 +- misc/tools.func | 7 +++++-- 36 files changed, 67 insertions(+), 54 deletions(-) diff --git a/ct/komga.sh b/ct/komga.sh index 201adb8a0..4f9558383 100644 --- a/ct/komga.sh +++ b/ct/komga.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/kubo.sh b/ct/kubo.sh index eb4d98463..8d7425a47 100644 --- a/ct/kubo.sh +++ b/ct/kubo.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -33,7 +33,7 @@ function update_script() { systemctl stop ipfs msg_ok "Stopped service" - fetch_and_deploy_gh_release "kubo" "ipfs/kubo" "prebuild" "latest" "/usr/local/kubo" "kubo*linux-amd64.tar.gz" + fetch_and_deploy_gh_release "kubo" "ipfs/kubo" "prebuild" "latest" "/usr/local/kubo" "kubo*linux-$(arch_resolve).tar.gz" msg_info "Starting service" systemctl start ipfs diff --git a/ct/kutt.sh b/ct/kutt.sh index 6c9e64e0a..c118172f7 100644 --- a/ct/kutt.sh +++ b/ct/kutt.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/languagetool.sh b/ct/languagetool.sh index 40c21d043..a938792c8 100644 --- a/ct/languagetool.sh +++ b/ct/languagetool.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-16}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/lazylibrarian.sh b/ct/lazylibrarian.sh index 5a86550bf..c07abac96 100644 --- a/ct/lazylibrarian.sh +++ b/ct/lazylibrarian.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/librechat.sh b/ct/librechat.sh index 5c60e0a52..d6d62cca2 100644 --- a/ct/librechat.sh +++ b/ct/librechat.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-6144}" var_disk="${var_disk:-20}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/librenms.sh b/ct/librenms.sh index 6659e4208..e5dd91fc9 100644 --- a/ct/librenms.sh +++ b/ct/librenms.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/librespeed-rust.sh b/ct/librespeed-rust.sh index 37a66f5e3..bb921bb03 100644 --- a/ct/librespeed-rust.sh +++ b/ct/librespeed-rust.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -34,7 +34,7 @@ function update_script() { systemctl stop speedtest_rs msg_ok "Services Stopped" - fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-x86_64-unknown-linux-gnu.deb" + fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-$(arch_resolve "x86_64" "aarch64")-unknown-linux-gnu.deb" msg_info "Starting Service" systemctl start speedtest_rs diff --git a/ct/libretranslate.sh b/ct/libretranslate.sh index c3a5955c1..7cf601fa4 100644 --- a/ct/libretranslate.sh +++ b/ct/libretranslate.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-20}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" var_gpu="${var_gpu:-yes}" diff --git a/ct/lidarr.sh b/ct/lidarr.sh index 4e4c7024e..141197a57 100644 --- a/ct/lidarr.sh +++ b/ct/lidarr.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -35,7 +35,7 @@ function update_script() { systemctl stop lidarr msg_ok "Service stopped" - fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-x64.tar.gz" + fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-$(arch_resolve "x64" "arm64").tar.gz" chmod 775 /opt/Lidarr msg_info "Starting service" diff --git a/ct/limesurvey.sh b/ct/limesurvey.sh index 10f24b983..fdbedb015 100644 --- a/ct/limesurvey.sh +++ b/ct/limesurvey.sh @@ -9,10 +9,10 @@ APP="LimeSurvey" var_tags="${var_tags:-os}" var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" -var_disk="${var_disk:-2}" +var_disk="${var_disk:-$(arch_resolve 2 4)}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/linkding.sh b/ct/linkding.sh index 09119791e..b0ae20025 100644 --- a/ct/linkding.sh +++ b/ct/linkding.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -46,7 +46,7 @@ function update_script() { cp -r /opt/linkding_data_backup/. /opt/linkding/data cp /opt/linkding_env_backup /opt/linkding/.env rm -rf /opt/linkding_data_backup /opt/linkding_env_backup - ln -sf /usr/lib/x86_64-linux-gnu/mod_icu.so /opt/linkding/libicu.so + ln -sf /usr/lib/$(arch_resolve "x86_64-linux-gnu" "aarch64-linux-gnu")/mod_icu.so /opt/linkding/libicu.so msg_ok "Restored Data" msg_info "Updating LinkDing" diff --git a/ct/listmonk.sh b/ct/listmonk.sh index 11483bf46..774672905 100644 --- a/ct/listmonk.sh +++ b/ct/listmonk.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -37,7 +37,7 @@ function update_script() { mv /opt/listmonk/ /opt/listmonk-backup msg_ok "Backed up data" - fetch_and_deploy_gh_release "listmonk" "knadh/listmonk" "prebuild" "latest" "/opt/listmonk" "listmonk*linux_amd64.tar.gz" + fetch_and_deploy_gh_release "listmonk" "knadh/listmonk" "prebuild" "latest" "/opt/listmonk" "listmonk*linux_$(arch_resolve).tar.gz" msg_info "Configuring listmonk" mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml diff --git a/ct/livebook.sh b/ct/livebook.sh index b31503330..928ef33e1 100755 --- a/ct/livebook.sh +++ b/ct/livebook.sh @@ -12,7 +12,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_os="${var_os:-ubuntu}" var_version="${var_version:-24.04}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/lobehub.sh b/ct/lobehub.sh index d42912c1b..1a856e428 100644 --- a/ct/lobehub.sh +++ b/ct/lobehub.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-10240}" var_disk="${var_disk:-15}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/loki.sh b/ct/loki.sh index 745fcd672..c1effaf39 100644 --- a/ct/loki.sh +++ b/ct/loki.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/lychee.sh b/ct/lychee.sh index e5d630290..887d1f3ac 100644 --- a/ct/lychee.sh +++ b/ct/lychee.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/lyrionmusicserver.sh b/ct/lyrionmusicserver.sh index 275f91024..8ef432b93 100644 --- a/ct/lyrionmusicserver.sh +++ b/ct/lyrionmusicserver.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-3}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -31,9 +31,10 @@ function update_script() { exit fi - DEB_URL=$(curl_with_retry 'https://lyrion.org/getting-started/' | grep -oP ']*href="\K[^"]*amd64\.deb(?="[^>]*>)' | head -n 1) - RELEASE=$(echo "$DEB_URL" | grep -oP 'lyrionmusicserver_\K[0-9.]+(?=_amd64\.deb)') - DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_amd64.deb" + DEB_ARCH=$(arch_resolve "amd64" "arm") + DEB_URL=$(curl_with_retry 'https://lyrion.org/getting-started/' | grep -oP "]*href=\"\K[^\"]*${DEB_ARCH}\.deb(?=\"[^>]*>)" | head -n 1) + RELEASE=$(echo "$DEB_URL" | grep -oP "lyrionmusicserver_\K[0-9.]+(?=_${DEB_ARCH}\.deb)") + DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_${DEB_ARCH}.deb" if [[ ! -f /opt/lyrion_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/lyrion_version.txt)" ]]; then msg_info "Updating $APP to ${RELEASE}" curl_with_retry "$DEB_URL" "$DEB_FILE" diff --git a/ct/mail-archiver.sh b/ct/mail-archiver.sh index 366d367a6..944ed4336 100644 --- a/ct/mail-archiver.sh +++ b/ct/mail-archiver.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/managemydamnlife.sh b/ct/managemydamnlife.sh index ae9643d14..eedda1f85 100644 --- a/ct/managemydamnlife.sh +++ b/ct/managemydamnlife.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-6}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/manyfold.sh b/ct/manyfold.sh index 86e1022dd..2537736fd 100644 --- a/ct/manyfold.sh +++ b/ct/manyfold.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-15}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/matomo.sh b/ct/matomo.sh index a753daf68..e00eec688 100644 --- a/ct/matomo.sh +++ b/ct/matomo.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-16}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/matter-server.sh b/ct/matter-server.sh index ffbb5a559..1f2a4337d 100644 --- a/ct/matter-server.sh +++ b/ct/matter-server.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -41,7 +41,7 @@ function update_script() { echo "${MATTER_VERSION}" >~/.matter-server msg_ok "Updated Matter Server" - fetch_and_deploy_gh_release "chip-ota-provider-app" "home-assistant-libs/matter-linux-ota-provider" "singlefile" "latest" "/usr/local/bin" "chip-ota-provider-app-x86-64" + fetch_and_deploy_gh_release "chip-ota-provider-app" "home-assistant-libs/matter-linux-ota-provider" "singlefile" "latest" "/usr/local/bin" "chip-ota-provider-app-$(arch_resolve "x86-64" "aarch64")" msg_info "Starting Service" systemctl start matter-server diff --git a/ct/matterjs-server.sh b/ct/matterjs-server.sh index 9758ab6cd..65d53f5f5 100644 --- a/ct/matterjs-server.sh +++ b/ct/matterjs-server.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/mediamanager.sh b/ct/mediamanager.sh index 9a2d07dce..3ae88f893 100644 --- a/ct/mediamanager.sh +++ b/ct/mediamanager.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-3072}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/install/komga-install.sh b/install/komga-install.sh index 329f9f0a9..7943dbfac 100644 --- a/install/komga-install.sh +++ b/install/komga-install.sh @@ -22,7 +22,7 @@ $STD apt -y install \ msg_ok "Installed dependencies" JAVA_VERSION="23" setup_java -fetch_and_deploy_gh_release "kepubify" "pgaskin/kepubify" "singlefile" "latest" "/usr/bin" "kepubify-linux-64bit" +fetch_and_deploy_gh_release "kepubify" "pgaskin/kepubify" "singlefile" "latest" "/usr/bin" "kepubify-linux-$(arch_resolve "64bit" "arm64")" USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "komga-org" "gotson/komga" "singlefile" "latest" "/opt/komga" "komga*.jar" mv /opt/komga/komga-*.jar /opt/komga/komga.jar @@ -35,7 +35,7 @@ After=syslog.target network.target [Service] Type=simple WorkingDirectory=/opt/komga/ -Environment=LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu +Environment=LD_LIBRARY_PATH=/usr/lib/$(arch_resolve "x86_64-linux-gnu" "aarch64-linux-gnu") ExecStart=/usr/bin/java --enable-native-access=ALL-UNNAMED -jar -Xmx2g komga.jar TimeoutStopSec=20 KillMode=process diff --git a/install/kubo-install.sh b/install/kubo-install.sh index cc86dae3b..adcd3fae4 100644 --- a/install/kubo-install.sh +++ b/install/kubo-install.sh @@ -14,9 +14,10 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "kubo" "ipfs/kubo" "prebuild" "latest" "/usr/local/kubo" "kubo*linux-amd64.tar.gz" +fetch_and_deploy_gh_release "kubo" "ipfs/kubo" "prebuild" "latest" "/usr/local/kubo" "kubo*linux-$(arch_resolve).tar.gz" msg_info "Configuring IPFS" +export HOME="${HOME:-/root}" $STD ln -s /usr/local/kubo/ipfs /usr/local/bin/ipfs $STD ipfs init ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001 diff --git a/install/lazylibrarian-install.sh b/install/lazylibrarian-install.sh index a78976ec6..28b72b1d5 100644 --- a/install/lazylibrarian-install.sh +++ b/install/lazylibrarian-install.sh @@ -27,16 +27,16 @@ msg_info "Setup Python3" $STD apt install -y \ pip \ python3-irc -$STD pip install jaraco.stream -$STD pip install python-Levenshtein -$STD pip install soupsieve -$STD pip install pypdf +$STD pip install --break-system-packages jaraco.stream +$STD pip install --break-system-packages python-Levenshtein +$STD pip install --break-system-packages soupsieve +$STD pip install --break-system-packages pypdf msg_ok "Setup Python3" msg_info "Installing LazyLibrarian" $STD git clone https://gitlab.com/LazyLibrarian/LazyLibrarian /opt/LazyLibrarian cd /opt/LazyLibrarian -$STD pip install . +$STD pip install --break-system-packages . msg_ok "Installed LazyLibrarian" msg_info "Creating Service" diff --git a/install/librespeed-rust-install.sh b/install/librespeed-rust-install.sh index 31e74037e..e05418822 100644 --- a/install/librespeed-rust-install.sh +++ b/install/librespeed-rust-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-x86_64-unknown-linux-gnu.deb" +fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-$(arch_resolve "x86_64" "aarch64")-unknown-linux-gnu.deb" msg_info "Enabling Service" systemctl enable -q --now speedtest_rs diff --git a/install/lidarr-install.sh b/install/lidarr-install.sh index 85f0073ec..83bc66ac1 100644 --- a/install/lidarr-install.sh +++ b/install/lidarr-install.sh @@ -17,10 +17,11 @@ msg_info "Installing Dependencies" $STD apt install -y \ sqlite3 \ libchromaprint-tools \ + libicu-dev \ mediainfo msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-x64.tar.gz" +fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-$(arch_resolve "x64" "arm64").tar.gz" msg_info "Configuring Lidarr" mkdir -p /var/lib/lidarr/ diff --git a/install/linkding-install.sh b/install/linkding-install.sh index 88ed1d433..9ab3e8e94 100644 --- a/install/linkding-install.sh +++ b/install/linkding-install.sh @@ -33,7 +33,7 @@ msg_info "Building Frontend" cd /opt/linkding $STD npm ci $STD npm run build -ln -sf /usr/lib/x86_64-linux-gnu/mod_icu.so /opt/linkding/libicu.so +ln -sf /usr/lib/$(arch_resolve "x86_64-linux-gnu" "aarch64-linux-gnu")/mod_icu.so /opt/linkding/libicu.so msg_ok "Built Frontend" msg_info "Setting up LinkDing" diff --git a/install/listmonk-install.sh b/install/listmonk-install.sh index 14bb4ebad..22c42a96c 100644 --- a/install/listmonk-install.sh +++ b/install/listmonk-install.sh @@ -29,7 +29,7 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP } >>~/listmonk.creds msg_ok "Configured PostgreSQL" -fetch_and_deploy_gh_release "listmonk" "knadh/listmonk" "prebuild" "latest" "/opt/listmonk" "listmonk*linux_amd64.tar.gz" +fetch_and_deploy_gh_release "listmonk" "knadh/listmonk" "prebuild" "latest" "/opt/listmonk" "listmonk*linux_$(arch_resolve).tar.gz" msg_info "Configuring listmonk" mkdir -p /opt/listmonk/uploads diff --git a/install/lyrionmusicserver-install.sh b/install/lyrionmusicserver-install.sh index a348c9fbb..b12f55c06 100644 --- a/install/lyrionmusicserver-install.sh +++ b/install/lyrionmusicserver-install.sh @@ -14,9 +14,10 @@ network_check update_os msg_info "Setup Lyrion Music Server" -DEB_URL=$(curl_with_retry 'https://lyrion.org/getting-started/' | grep -oP ']*href="\K[^"]*amd64\.deb(?="[^>]*>)' | head -n 1) -RELEASE=$(echo "$DEB_URL" | grep -oP 'lyrionmusicserver_\K[0-9.]+(?=_amd64\.deb)') -DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_amd64.deb" +DEB_ARCH=$(arch_resolve "amd64" "arm") +DEB_URL=$(curl_with_retry 'https://lyrion.org/getting-started/' | grep -oP "]*href=\"\K[^\"]*${DEB_ARCH}\.deb(?=\"[^>]*>)" | head -n 1) +RELEASE=$(echo "$DEB_URL" | grep -oP "lyrionmusicserver_\K[0-9.]+(?=_${DEB_ARCH}\.deb)") +DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_${DEB_ARCH}.deb" curl_with_retry "$DEB_URL" "$DEB_FILE" $STD apt install "$DEB_FILE" -y rm -f "$DEB_FILE" diff --git a/install/mail-archiver-install.sh b/install/mail-archiver-install.sh index 24fb81061..d4dfc839c 100644 --- a/install/mail-archiver-install.sh +++ b/install/mail-archiver-install.sh @@ -22,8 +22,14 @@ setup_deb822_repo \ "main" $STD apt install -y \ dotnet-sdk-10.0 \ - aspnetcore-runtime-8.0 \ libgssapi-krb5-2 +if [[ "$(arch_resolve)" == "arm64" ]]; then + curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh + $STD bash /tmp/dotnet-install.sh --channel 8.0 --runtime aspnetcore --install-dir /usr/lib/dotnet + rm -f /tmp/dotnet-install.sh +else + $STD apt install -y aspnetcore-runtime-8.0 +fi msg_ok "Installed Dependencies" PG_VERSION="17" setup_postgresql diff --git a/install/matter-server-install.sh b/install/matter-server-install.sh index 4fff7775d..acedc4eb3 100644 --- a/install/matter-server-install.sh +++ b/install/matter-server-install.sh @@ -39,7 +39,7 @@ $STD uv pip install --python /opt/matter-server/.venv/bin/python "python-matter- echo "${MATTER_VERSION}" >~/.matter-server msg_ok "Set up Matter Server" -fetch_and_deploy_gh_release "chip-ota-provider-app" "home-assistant-libs/matter-linux-ota-provider" "singlefile" "latest" "/usr/local/bin" "chip-ota-provider-app-x86-64" +fetch_and_deploy_gh_release "chip-ota-provider-app" "home-assistant-libs/matter-linux-ota-provider" "singlefile" "latest" "/usr/local/bin" "chip-ota-provider-app-$(arch_resolve "x86-64" "aarch64")" msg_info "Configuring Network" cat </etc/sysctl.d/99-matter.conf diff --git a/misc/tools.func b/misc/tools.func index 6a0c3ed88..974e046eb 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -764,8 +764,11 @@ manage_tool_repository() { local distro_codename distro_codename=$(get_os_info codename) - # Suite mapping with fallback for newer releases not yet supported by upstream - if [[ "$distro_id" == "debian" ]]; then + if [[ "$distro_id" == "debian" && "$(dpkg --print-architecture)" == "arm64" ]]; then + distro_id="ubuntu" + suite="noble" + repo_url="https://repo.mongodb.org/apt/ubuntu" + elif [[ "$distro_id" == "debian" ]]; then case "$distro_codename" in trixie | forky | sid) # Testing/unstable releases fallback to latest stable suite