From 2178f72ec929b8e2662d974766e8455f1b1b64f5 Mon Sep 17 00:00:00 2001 From: Sam Heinz <54530346+asylumexp@users.noreply.github.com> Date: Thu, 18 Jun 2026 23:14:09 +1000 Subject: [PATCH] [arm64] port scripts named A-F also adds patching of arm64 templates for if it doesnt include /etc/network/interfaces adds fallback to get_arch_value for alpine adds neon check for mongodb for arm (avx equivalent) missing: alpine-teamspeak-server apprise-api archivebox audiobookshelf authentik autocaliweb baserow byparr checkmate checkmk degoog domain-locker elementsynapse flaresolverr flatnotes freepbx frigate --- ct/adguard.sh | 2 +- ct/adventurelog.sh | 2 +- ct/agentdvr.sh | 2 +- ct/alpine-adguard.sh | 2 +- ct/alpine-bitmagnet.sh | 4 +-- ct/alpine-borgbackup-server.sh | 2 +- ct/alpine-caddy.sh | 2 +- ct/alpine-cinny.sh | 2 +- ct/alpine-docker.sh | 2 +- ct/alpine-forgejo.sh | 2 +- ct/alpine-garage.sh | 4 +-- ct/alpine-gatus.sh | 4 +-- ct/alpine-gitea.sh | 2 +- ct/alpine-grafana.sh | 4 +-- ct/alpine-ironclaw.sh | 2 +- ct/alpine-komodo.sh | 2 +- ct/alpine-loki.sh | 2 +- ct/alpine-mariadb.sh | 2 +- ct/alpine-nextcloud.sh | 2 +- ct/alpine-node-red.sh | 2 +- ct/alpine-ntfy.sh | 2 +- ct/alpine-postgresql.sh | 2 +- ct/alpine-prometheus.sh | 2 +- ct/alpine-rclone.sh | 4 +-- ct/alpine-redis.sh | 2 +- ct/alpine-redlib.sh | 4 +-- ct/alpine-rustdeskserver.sh | 11 ++++---- ct/alpine-rustypaste.sh | 2 +- ct/alpine-syncthing.sh | 2 +- ct/alpine-tinyauth.sh | 4 +-- ct/alpine-traefik.sh | 2 +- ct/alpine-transmission.sh | 2 +- ct/alpine-valkey.sh | 2 +- ct/alpine-vaultwarden.sh | 2 +- ct/alpine-wakapi.sh | 4 +-- ct/alpine-wireguard.sh | 2 +- ct/alpine-zigbee2mqtt.sh | 2 +- ct/ampache.sh | 2 +- ct/anchor.sh | 2 +- ct/anytype-server.sh | 4 +-- ct/apache-tika.sh | 2 +- ct/apache-tomcat.sh | 2 +- ct/argus.sh | 4 +-- ct/aria2.sh | 2 +- ct/authentik.sh | 3 ++- ct/autobrr.sh | 4 +-- ct/backrest.sh | 4 +-- ct/bambuddy.sh | 2 +- ct/bazarr.sh | 2 +- ct/bentopdf.sh | 2 +- ct/beszel.sh | 2 +- ct/bichon.sh | 6 ++--- ct/birdnet-go.sh | 4 +-- ct/bitfocus-companion.sh | 2 +- ct/blocky.sh | 4 +-- ct/calibre-web.sh | 2 +- ct/certimate.sh | 4 +-- ct/cleanuparr.sh | 4 +-- ct/clickhouse.sh | 2 +- ct/cliproxyapi.sh | 4 +-- ct/cloudreve.sh | 4 +-- ct/cockpit.sh | 2 +- ct/comfyui.sh | 2 +- ct/configarr.sh | 2 +- ct/coolify.sh | 2 +- ct/coredns.sh | 4 +-- ct/cosmos.sh | 2 +- ct/crafty-controller.sh | 2 +- ct/cyberchef.sh | 2 +- ct/dagu.sh | 4 +-- ct/dashy.sh | 2 +- ct/databasus.sh | 9 ++++--- ct/dawarich.sh | 2 +- ct/ddclient.sh | 2 +- ct/ddns-updater.sh | 4 +-- ct/deconz.sh | 2 +- ct/discopanel.sh | 6 ++--- ct/docuseal.sh | 2 +- ct/dokploy.sh | 2 +- ct/donetick.sh | 4 +-- ct/drawdb.sh | 2 +- ct/drawio.sh | 2 +- ct/duplicati.sh | 2 +- ct/dynacat.sh | 4 +-- ct/ebusd.sh | 4 +-- ct/emqx.sh | 6 ++--- ct/erpnext.sh | 2 +- ct/ersatztv.sh | 6 ++--- ct/espconnect.sh | 2 +- ct/ezbookkeeping.sh | 4 +-- ct/fileflows.sh | 2 +- ct/fireshare.sh | 2 +- ct/fladder.sh | 2 +- ct/foldergram.sh | 2 +- ct/forgejo.sh | 4 +-- install/adguard-install.sh | 2 +- install/agentdvr-install.sh | 6 ++--- install/alpine-adguard-install.sh | 8 +++--- install/alpine-docker-install.sh | 2 +- install/alpine-garage-install.sh | 2 +- install/alpine-rclone-install.sh | 2 +- install/alpine-redlib-install.sh | 2 +- install/alpine-rustdeskserver-install.sh | 7 ++--- install/alpine-tinyauth-install.sh | 2 +- install/alpine-wakapi-install.sh | 2 +- install/anytype-server-install.sh | 2 +- install/apache-tomcat-install.sh | 2 +- install/argus-install.sh | 2 +- install/authentik-install.sh | 6 ++--- install/autobrr-install.sh | 2 +- install/autocaliweb-install.sh | 4 +-- install/backrest-install.sh | 2 +- install/beszel-install.sh | 2 +- install/bichon-install.sh | 2 +- install/birdnet-go-install.sh | 2 +- install/bitfocus-companion-install.sh | 8 ++++-- install/blocky-install.sh | 2 +- install/certimate-install.sh | 2 +- install/cleanuparr-install.sh | 2 +- install/cliproxyapi-install.sh | 2 +- install/cloudreve-install.sh | 2 +- install/cockpit-install.sh | 3 ++- install/configarr-install.sh | 2 +- install/cosmos-install.sh | 2 +- install/crafty-controller-install.sh | 4 +-- install/dagu-install.sh | 2 +- install/databasus-install.sh | 6 +++-- install/ddns-updater-install.sh | 2 +- install/deconz-install.sh | 5 ++-- install/discopanel-install.sh | 4 +-- install/donetick-install.sh | 2 +- install/duplicati-install.sh | 2 +- install/dynacat-install.sh | 2 +- install/ebusd-install.sh | 2 +- install/emqx-install.sh | 4 +-- install/erpnext-install.sh | 5 ++-- install/ersatztv-install.sh | 4 +-- install/ezbookkeeping-install.sh | 2 +- install/fileflows-install.sh | 20 +++++++++----- install/forgejo-install.sh | 2 +- install/frigate-install.sh | 4 +-- misc/build.func | 34 +++++++++++++++++++++--- misc/core.func | 9 ++++--- misc/tools.func | 22 ++++++++++----- 144 files changed, 280 insertions(+), 218 deletions(-) mode change 100755 => 100644 ct/apache-tika.sh mode change 100755 => 100644 ct/bazarr.sh mode change 100755 => 100644 ct/cleanuparr.sh mode change 100755 => 100644 install/cleanuparr-install.sh diff --git a/ct/adguard.sh b/ct/adguard.sh index 6d4cffb95..87c47f6ed 100644 --- a/ct/adguard.sh +++ b/ct/adguard.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/adventurelog.sh b/ct/adventurelog.sh index 4b7825bfd..f794d7f95 100644 --- a/ct/adventurelog.sh +++ b/ct/adventurelog.sh @@ -12,7 +12,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-4096}" 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/agentdvr.sh b/ct/agentdvr.sh index 7e75e695d..7c0e486ee 100644 --- a/ct/agentdvr.sh +++ b/ct/agentdvr.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" 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:-0}" var_gpu="${var_gpu:-yes}" diff --git a/ct/alpine-adguard.sh b/ct/alpine-adguard.sh index e91ae8ce4..14474ef4e 100644 --- a/ct/alpine-adguard.sh +++ b/ct/alpine-adguard.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-bitmagnet.sh b/ct/alpine-bitmagnet.sh index a39fa4b10..f7bf50234 100644 --- a/ct/alpine-bitmagnet.sh +++ b/ct/alpine-bitmagnet.sh @@ -8,11 +8,11 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Alpine-bitmagnet" var_tags="${var_tags:-alpine;torrent}" var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-1024}" +var_ram="${var_ram:-$(get_arch_value 1024 2048)}" var_disk="${var_disk:-3}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-borgbackup-server.sh b/ct/alpine-borgbackup-server.sh index 07d88f68b..8df1a2e9d 100644 --- a/ct/alpine-borgbackup-server.sh +++ b/ct/alpine-borgbackup-server.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-20}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-caddy.sh b/ct/alpine-caddy.sh index 5cf5b9e4c..7b06fb6d9 100644 --- a/ct/alpine-caddy.sh +++ b/ct/alpine-caddy.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-3}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-cinny.sh b/ct/alpine-cinny.sh index d49ec1e2b..72c93f3e6 100644 --- a/ct/alpine-cinny.sh +++ b/ct/alpine-cinny.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" var_nesting="${var_nesting:-0}" diff --git a/ct/alpine-docker.sh b/ct/alpine-docker.sh index 159ab35c4..cc3a22698 100644 --- a/ct/alpine-docker.sh +++ b/ct/alpine-docker.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-2}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-forgejo.sh b/ct/alpine-forgejo.sh index 173585f5f..fff6155ef 100644 --- a/ct/alpine-forgejo.sh +++ b/ct/alpine-forgejo.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-garage.sh b/ct/alpine-garage.sh index ca3b380f4..d29c4d4f0 100644 --- a/ct/alpine-garage.sh +++ b/ct/alpine-garage.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-5}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -39,7 +39,7 @@ function update_script() { msg_ok "Backed Up Data" msg_info "Updating Garage" - curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage + curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/$(get_arch_value "x86_64" "aarch64")-unknown-linux-musl/garage" -o /usr/local/bin/garage chmod +x /usr/local/bin/garage echo "${GITEA_RELEASE}" >~/.garage msg_ok "Updated Garage" diff --git a/ct/alpine-gatus.sh b/ct/alpine-gatus.sh index 8e28608d2..dc6f92168 100644 --- a/ct/alpine-gatus.sh +++ b/ct/alpine-gatus.sh @@ -8,11 +8,11 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Alpine-gatus" var_tags="${var_tags:-alpine;monitoring}" var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-256}" +var_ram="${var_ram:-$(get_arch_value 256 512)}" var_disk="${var_disk:-3}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-gitea.sh b/ct/alpine-gitea.sh index f16410586..2fd8630c2 100644 --- a/ct/alpine-gitea.sh +++ b/ct/alpine-gitea.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-grafana.sh b/ct/alpine-grafana.sh index 6bef3c558..50d1d959e 100644 --- a/ct/alpine-grafana.sh +++ b/ct/alpine-grafana.sh @@ -8,11 +8,11 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Alpine-Grafana" var_tags="${var_tags:-alpine;monitoring}" var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-256}" +var_ram="${var_ram:-$(get_arch_value 256 512)}" var_disk="${var_disk:-2}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-ironclaw.sh b/ct/alpine-ironclaw.sh index f84e801e8..f21e59a61 100644 --- a/ct/alpine-ironclaw.sh +++ b/ct/alpine-ironclaw.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-8}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-komodo.sh b/ct/alpine-komodo.sh index 85c7acf2f..60fb79af6 100644 --- a/ct/alpine-komodo.sh +++ b/ct/alpine-komodo.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-10}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-loki.sh b/ct/alpine-loki.sh index 8a6b6a0e5..d0fb9c648 100644 --- a/ct/alpine-loki.sh +++ b/ct/alpine-loki.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-mariadb.sh b/ct/alpine-mariadb.sh index 6217a2ea2..4840aa12d 100644 --- a/ct/alpine-mariadb.sh +++ b/ct/alpine-mariadb.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-nextcloud.sh b/ct/alpine-nextcloud.sh index 85a948c49..cf0b8066e 100644 --- a/ct/alpine-nextcloud.sh +++ b/ct/alpine-nextcloud.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-2}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-node-red.sh b/ct/alpine-node-red.sh index a44ef9410..e757a5bf1 100644 --- a/ct/alpine-node-red.sh +++ b/ct/alpine-node-red.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-ntfy.sh b/ct/alpine-ntfy.sh index 0014a49f8..5fc93e169 100644 --- a/ct/alpine-ntfy.sh +++ b/ct/alpine-ntfy.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-2}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-postgresql.sh b/ct/alpine-postgresql.sh index d84b4368e..73555b6e0 100644 --- a/ct/alpine-postgresql.sh +++ b/ct/alpine-postgresql.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-prometheus.sh b/ct/alpine-prometheus.sh index 3fc6fd0b7..6a2d19eab 100644 --- a/ct/alpine-prometheus.sh +++ b/ct/alpine-prometheus.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-rclone.sh b/ct/alpine-rclone.sh index 121b5e67f..f953a56e2 100644 --- a/ct/alpine-rclone.sh +++ b/ct/alpine-rclone.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" var_fuse="${var_fuse:-yes}" @@ -31,7 +31,7 @@ function update_script() { if [ "${RELEASE}" != "$(cat /opt/rclone_version.txt)" ] || [ ! -f /opt/rclone_version.txt ]; then msg_info "Updating ${APP} LXC" temp_file=$(mktemp) - curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclone-v${RELEASE}-linux-amd64.zip" -o "$temp_file" + curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclone-v${RELEASE}-linux-$(get_arch_value).zip" -o "$temp_file" $STD unzip -o "$temp_file" '*/**' -d /opt/rclone rm -f "$temp_file" echo "${RELEASE}" >/opt/rclone_version.txt diff --git a/ct/alpine-redis.sh b/ct/alpine-redis.sh index af75a3ee5..4dd0c0720 100644 --- a/ct/alpine-redis.sh +++ b/ct/alpine-redis.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-redlib.sh b/ct/alpine-redlib.sh index db76b3496..5a27fe4af 100644 --- a/ct/alpine-redlib.sh +++ b/ct/alpine-redlib.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -36,7 +36,7 @@ function update_script() { $STD rc-service redlib stop msg_ok "Stopped Service" - fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz" + fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-$(get_arch_value "x86_64" "aarch64")-unknown-linux-musl.tar.gz" msg_info "Starting Service" $STD rc-service redlib start diff --git a/ct/alpine-rustdeskserver.sh b/ct/alpine-rustdeskserver.sh index 844441e43..16ecc9825 100644 --- a/ct/alpine-rustdeskserver.sh +++ b/ct/alpine-rustdeskserver.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-3}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -35,13 +35,14 @@ function update_script() { $STD service rustdesk-server-hbbs stop $STD service rustdesk-server-hbbr stop temp_file1=$(mktemp) - curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1" + ARCH=$(get_arch_value "amd64" "arm64v8") + curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-${ARCH}.zip" -o "$temp_file1" $STD unzip "$temp_file1" - cp -r amd64/* /opt/rustdesk-server/ + cp -r "$ARCH"/* /opt/rustdesk-server/ echo "${RELEASE}" >~/.rustdesk-server $STD service rustdesk-server-hbbs start $STD service rustdesk-server-hbbr start - rm -rf amd64 + rm -rf "$ARCH" rm -f "$temp_file1" msg_ok "Updated RustDesk Server" else @@ -51,7 +52,7 @@ function update_script() { msg_info "Updating RustDesk API to v${APIRELEASE}" $STD service rustdesk-api stop temp_file2=$(mktemp) - curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2" + curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-$(get_arch_value).tar.gz" -o "$temp_file2" $STD tar zxvf "$temp_file2" cp -r release/* /opt/rustdesk-api echo "${APIRELEASE}" >~/.rustdesk-api diff --git a/ct/alpine-rustypaste.sh b/ct/alpine-rustypaste.sh index 66b97e7e3..087c15105 100644 --- a/ct/alpine-rustypaste.sh +++ b/ct/alpine-rustypaste.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-4}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-syncthing.sh b/ct/alpine-syncthing.sh index 88e0c2b76..502493021 100644 --- a/ct/alpine-syncthing.sh +++ b/ct/alpine-syncthing.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-tinyauth.sh b/ct/alpine-tinyauth.sh index 085c0d9e9..19afe2d0c 100644 --- a/ct/alpine-tinyauth.sh +++ b/ct/alpine-tinyauth.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-2}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -52,7 +52,7 @@ function update_script() { msg_info "Updating Tinyauth" rm -f /opt/tinyauth/tinyauth - curl -fsSL "https://github.com/tinyauthapp/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth + curl -fsSL "https://github.com/tinyauthapp/tinyauth/releases/download/v${RELEASE}/tinyauth-$(get_arch_value)" -o /opt/tinyauth/tinyauth chmod +x /opt/tinyauth/tinyauth echo "${RELEASE}" >~/.tinyauth msg_ok "Updated Tinyauth" diff --git a/ct/alpine-traefik.sh b/ct/alpine-traefik.sh index e886e59a9..943d77962 100644 --- a/ct/alpine-traefik.sh +++ b/ct/alpine-traefik.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-transmission.sh b/ct/alpine-transmission.sh index 0b8e9177a..e4ad574b2 100644 --- a/ct/alpine-transmission.sh +++ b/ct/alpine-transmission.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-valkey.sh b/ct/alpine-valkey.sh index fd7b02569..b1df77531 100644 --- a/ct/alpine-valkey.sh +++ b/ct/alpine-valkey.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 7c7983f2a..539e1c823 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/alpine-wakapi.sh b/ct/alpine-wakapi.sh index 97c7f90be..b5eb78e14 100644 --- a/ct/alpine-wakapi.sh +++ b/ct/alpine-wakapi.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-4}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -43,7 +43,7 @@ function update_script() { cp /opt/wakapi/config.yml /opt/wakapi/wakapi_db.db /opt/wakapi-backup/ msg_ok "Created backup" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wakapi" "muety/wakapi" "prebuild" "latest" "/opt/wakapi" "wakapi_linux_amd64.zip" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wakapi" "muety/wakapi" "prebuild" "latest" "/opt/wakapi" "wakapi_linux_$(get_arch_value).zip" msg_info "Configuring Wakapi" cd /opt/wakapi diff --git a/ct/alpine-wireguard.sh b/ct/alpine-wireguard.sh index c32a3d970..b040b4306 100644 --- a/ct/alpine-wireguard.sh +++ b/ct/alpine-wireguard.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" var_disk="${var_disk:-1}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" var_tun="${var_tun:-1}" diff --git a/ct/alpine-zigbee2mqtt.sh b/ct/alpine-zigbee2mqtt.sh index 0c3348037..ddfac3e39 100644 --- a/ct/alpine-zigbee2mqtt.sh +++ b/ct/alpine-zigbee2mqtt.sh @@ -12,7 +12,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-256}" var_os="${var_os:-alpine}" var_version="${var_version:-3.23}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-0}" header_info "$APP" diff --git a/ct/ampache.sh b/ct/ampache.sh index 88aac095e..cb5738f46 100644 --- a/ct/ampache.sh +++ b/ct/ampache.sh @@ -12,7 +12,7 @@ var_cpu="${var_cpu:-4}" var_ram="${var_ram:-2048}" 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/anchor.sh b/ct/anchor.sh index 7702598a2..58b912bb1 100644 --- a/ct/anchor.sh +++ b/ct/anchor.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" 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/anytype-server.sh b/ct/anytype-server.sh index 5058177e6..e1711c267 100644 --- a/ct/anytype-server.sh +++ b/ct/anytype-server.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-16}" 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" @@ -40,7 +40,7 @@ function update_script() { cp -r /opt/anytype/data /opt/anytype_data_backup msg_ok "Backed up Data" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "anytype" "grishy/any-sync-bundle" "prebuild" "latest" "/opt/anytype" "any-sync-bundle_*_linux_amd64.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "anytype" "grishy/any-sync-bundle" "prebuild" "latest" "/opt/anytype" "any-sync-bundle_*_linux_$(get_arch_value).tar.gz" chmod +x /opt/anytype/any-sync-bundle msg_info "Restoring Data" diff --git a/ct/apache-tika.sh b/ct/apache-tika.sh old mode 100755 new mode 100644 index 4bd48b5d5..d4dbe8647 --- a/ct/apache-tika.sh +++ b/ct/apache-tika.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" var_version="${var_version:-12}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/apache-tomcat.sh b/ct/apache-tomcat.sh index 48b9bc5f8..0b56b54f1 100644 --- a/ct/apache-tomcat.sh +++ b/ct/apache-tomcat.sh @@ -12,7 +12,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" 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/argus.sh b/ct/argus.sh index 5a270e2ed..9b292c8e5 100644 --- a/ct/argus.sh +++ b/ct/argus.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" 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" @@ -33,7 +33,7 @@ function update_script() { systemctl stop argus msg_ok "Service stopped" - fetch_and_deploy_gh_release "Argus" "release-argus/Argus" "singlefile" "latest" "/opt/argus" "Argus*linux-amd64" + fetch_and_deploy_gh_release "Argus" "release-argus/Argus" "singlefile" "latest" "/opt/argus" "Argus*linux-$(get_arch_value)" msg_info "Starting service" systemctl start argus diff --git a/ct/aria2.sh b/ct/aria2.sh index 8a13b21e0..e88c83446 100644 --- a/ct/aria2.sh +++ b/ct/aria2.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" 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/authentik.sh b/ct/authentik.sh index 53fe25132..f3ce0f014 100644 --- a/ct/authentik.sh +++ b/ct/authentik.sh @@ -33,7 +33,7 @@ function update_script() { read -r MAJOR MINOR PATCH <<< "$(sed 's/^version\///; s/\./ /g' "$HOME/.authentik")" msg_info "Update dependencies" - ensure_dependencies crossbuild-essential-amd64 gcc-x86-64-linux-gnu cmake clang libunwind-18-dev + ensure_dependencies crossbuild-essential-$(get_arch_value) gcc-$(get_arch_value "x86-64" "aarch64")-linux-gnu cmake clang libunwind-18-dev msg_ok "Update dependencies" NODE_VERSION="24" setup_nodejs @@ -96,6 +96,7 @@ function update_script() { msg_info "Updating go proxy" cd /opt/authentik export CGO_ENABLED="1" + export CC="$(get_arch_value "x86_64" "aarch64")-linux-gnu-gcc" $STD go mod download $STD go build -o /opt/authentik/authentik-server ./cmd/server $STD go build -o /opt/authentik/ldap ./cmd/ldap diff --git a/ct/autobrr.sh b/ct/autobrr.sh index 08596450b..39edabe28 100644 --- a/ct/autobrr.sh +++ b/ct/autobrr.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" @@ -34,7 +34,7 @@ function update_script() { systemctl stop autobrr msg_ok "Stopped Service" - fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz" + fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Starting Service" systemctl start autobrr diff --git a/ct/backrest.sh b/ct/backrest.sh index c475ae755..d85c8631c 100644 --- a/ct/backrest.sh +++ b/ct/backrest.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" 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" @@ -34,7 +34,7 @@ function update_script() { systemctl stop backrest msg_ok "Stopped Service" - fetch_and_deploy_gh_release "backrest" "garethgeorge/backrest" "prebuild" "latest" "/opt/backrest/bin" "backrest_Linux_x86_64.tar.gz" + fetch_and_deploy_gh_release "backrest" "garethgeorge/backrest" "prebuild" "latest" "/opt/backrest/bin" "backrest_Linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Starting Service" systemctl start backrest diff --git a/ct/bambuddy.sh b/ct/bambuddy.sh index 045e2bc4a..b80a05c38 100644 --- a/ct/bambuddy.sh +++ b/ct/bambuddy.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" 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/bazarr.sh b/ct/bazarr.sh old mode 100755 new mode 100644 index 45d2506f5..dddd27d9e --- a/ct/bazarr.sh +++ b/ct/bazarr.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/bentopdf.sh b/ct/bentopdf.sh index eabbc1952..cd313d892 100644 --- a/ct/bentopdf.sh +++ b/ct/bentopdf.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" diff --git a/ct/beszel.sh b/ct/beszel.sh index 7703e9144..d283eef87 100644 --- a/ct/beszel.sh +++ b/ct/beszel.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-5}" 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/bichon.sh b/ct/bichon.sh index 00f7dd77b..e16d28f24 100644 --- a/ct/bichon.sh +++ b/ct/bichon.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" @@ -69,7 +69,7 @@ function update_script() { if [ "$MIGRATE_V1" -eq 1 ] && [ "$CURRENT_VERSION" != "0.3.7" ]; then msg_info "Updating to intermediate version v0.3.7" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "v0.3.7" "/opt/bichon" "bichon-*-x86_64-unknown-linux-gnu.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "v0.3.7" "/opt/bichon" "bichon-*-$(get_arch_value "x86_64" "aarch64")-unknown-linux-gnu.tar.gz" cp /tmp/bichon.env.backup /opt/bichon/bichon.env systemctl start bichon sleep 30 @@ -77,7 +77,7 @@ function update_script() { msg_ok "Intermediate update completed" fi - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "latest" "/opt/bichon" "bichon-*-x86_64-unknown-linux-gnu.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "latest" "/opt/bichon" "bichon-*-$(get_arch_value "x86_64" "aarch64")-unknown-linux-gnu.tar.gz" cp /tmp/bichon.env.backup /opt/bichon/bichon.env if [ "$MIGRATE_V1" -eq 1 ]; then diff --git a/ct/birdnet-go.sh b/ct/birdnet-go.sh index 7c491a884..6b49a1cef 100644 --- a/ct/birdnet-go.sh +++ b/ct/birdnet-go.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-12}" 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:-no}" @@ -37,7 +37,7 @@ function update_script() { systemctl stop birdnet msg_ok "Stopped Service" - fetch_and_deploy_gh_release "birdnet" "tphakala/birdnet-go" "prebuild" "latest" "/opt/birdnet" "birdnet-go-linux-amd64.tar.gz" + fetch_and_deploy_gh_release "birdnet" "tphakala/birdnet-go" "prebuild" "latest" "/opt/birdnet" "birdnet-go-linux-$(get_arch_value).tar.gz" msg_info "Deploying Binary" cp /opt/birdnet/birdnet-go /usr/local/bin/birdnet-go diff --git a/ct/bitfocus-companion.sh b/ct/bitfocus-companion.sh index dcb3a19c6..368548da1 100644 --- a/ct/bitfocus-companion.sh +++ b/ct/bitfocus-companion.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-512}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" var_version="${var_version:-12}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/blocky.sh b/ct/blocky.sh index d8b57c24d..f28b873d8 100644 --- a/ct/blocky.sh +++ b/ct/blocky.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" @@ -37,7 +37,7 @@ function update_script() { mv /opt/blocky/config.yml /opt/config.yml msg_ok "Backed Up Config" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Restore Config" mv /opt/config.yml /opt/blocky/config.yml diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh index 1733a29bf..a12b14583 100644 --- a/ct/calibre-web.sh +++ b/ct/calibre-web.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/certimate.sh b/ct/certimate.sh index 414fe96b1..cb65f1bc3 100644 --- a/ct/certimate.sh +++ b/ct/certimate.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-256}" 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" @@ -39,7 +39,7 @@ function update_script() { cp -r /opt/certimate/pb_data /opt/certimate_pb_data_backup msg_ok "Backed up Data" - fetch_and_deploy_gh_release "certimate" "certimate-go/certimate" "prebuild" "latest" "/opt/certimate" "certimate_*_linux_amd64.zip" + fetch_and_deploy_gh_release "certimate" "certimate-go/certimate" "prebuild" "latest" "/opt/certimate" "certimate_*_linux_$(get_arch_value).zip" msg_info "Restoring Data" cp -r /opt/certimate_pb_data_backup/. /opt/certimate/pb_data diff --git a/ct/cleanuparr.sh b/ct/cleanuparr.sh old mode 100755 new mode 100644 index a97d8726c..9150149b3 --- a/ct/cleanuparr.sh +++ b/ct/cleanuparr.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" @@ -37,7 +37,7 @@ function update_script() { cp -r /opt/cleanuparr/config /opt/cleanuparr_config_backup msg_ok "Backed up config" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-$(get_arch_value).zip" msg_info "Restoring config" [[ -d /opt/cleanuparr/config ]] && rm -rf /opt/cleanuparr/config diff --git a/ct/clickhouse.sh b/ct/clickhouse.sh index 6d02e3bb0..a0e49e619 100644 --- a/ct/clickhouse.sh +++ b/ct/clickhouse.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-10}" 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/cliproxyapi.sh b/ct/cliproxyapi.sh index 20bda6448..610c5c7e3 100644 --- a/ct/cliproxyapi.sh +++ b/ct/cliproxyapi.sh @@ -13,7 +13,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" @@ -36,7 +36,7 @@ function update_script() { systemctl stop cliproxyapi msg_ok "Stopped CLIProxyAPI" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cliproxyapi" "router-for-me/CLIProxyAPI" "prebuild" "latest" "/opt/cliproxyapi" "CLIProxyAPI_*_linux_amd64.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cliproxyapi" "router-for-me/CLIProxyAPI" "prebuild" "latest" "/opt/cliproxyapi" "CLIProxyAPI_*_linux_$(get_arch_value "amd64" "aarch64").tar.gz" msg_info "Starting CLIProxyAPI" systemctl start cliproxyapi diff --git a/ct/cloudreve.sh b/ct/cloudreve.sh index 62a1cab82..a6c7a8ad3 100644 --- a/ct/cloudreve.sh +++ b/ct/cloudreve.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-10}" 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 cloudreve msg_info "Stopped Service" - fetch_and_deploy_gh_release "cloudreve" "cloudreve/cloudreve" "prebuild" "latest" "/opt/cloudreve" "*linux_amd64.tar.gz" + fetch_and_deploy_gh_release "cloudreve" "cloudreve/cloudreve" "prebuild" "latest" "/opt/cloudreve" "*linux_$(get_arch_value).tar.gz" msg_info "Starting Service" systemctl start cloudreve diff --git a/ct/cockpit.sh b/ct/cockpit.sh index aeaa80dc2..78dba7b02 100644 --- a/ct/cockpit.sh +++ b/ct/cockpit.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-12}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/comfyui.sh b/ct/comfyui.sh index 9fc1d02c5..f95b9b9de 100644 --- a/ct/comfyui.sh +++ b/ct/comfyui.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-8192}" var_disk="${var_disk:-25}" 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/configarr.sh b/ct/configarr.sh index f13bf18bf..c465c2f41 100644 --- a/ct/configarr.sh +++ b/ct/configarr.sh @@ -11,7 +11,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" diff --git a/ct/coolify.sh b/ct/coolify.sh index c443fb234..b30210d60 100644 --- a/ct/coolify.sh +++ b/ct/coolify.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-30}" 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/coredns.sh b/ct/coredns.sh index f7af6a1d3..e5137732b 100644 --- a/ct/coredns.sh +++ b/ct/coredns.sh @@ -9,10 +9,10 @@ APP="CoreDNS" var_tags="${var_tags:-dns;network}" var_cpu="${var_cpu:-1}" var_ram="${var_ram:-256}" -var_disk="${var_disk:-1}" +var_disk="${var_disk:-$(get_arch_value 1 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/cosmos.sh b/ct/cosmos.sh index 192bacb9a..7216a2ec8 100644 --- a/ct/cosmos.sh +++ b/ct/cosmos.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}" var_fuse="${var_fuse:-yes}" diff --git a/ct/crafty-controller.sh b/ct/crafty-controller.sh index 6661cb5ef..5fd0fa963 100644 --- a/ct/crafty-controller.sh +++ b/ct/crafty-controller.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/cyberchef.sh b/ct/cyberchef.sh index 5e164602c..e50d1c7b3 100644 --- a/ct/cyberchef.sh +++ b/ct/cyberchef.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" diff --git a/ct/dagu.sh b/ct/dagu.sh index 225242b10..94507958a 100644 --- a/ct/dagu.sh +++ b/ct/dagu.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" @@ -39,7 +39,7 @@ function update_script() { cp -r /opt/dagu/data /opt/dagu_data_backup msg_ok "Backed up Data" - fetch_and_deploy_gh_release "dagu" "dagucloud/dagu" "prebuild" "latest" "/opt/dagu" "dagu_*_linux_amd64.tar.gz" + fetch_and_deploy_gh_release "dagu" "dagucloud/dagu" "prebuild" "latest" "/opt/dagu" "dagu_*_linux_$(get_arch_value).tar.gz" msg_info "Restoring Data" mkdir -p /opt/dagu/data diff --git a/ct/dashy.sh b/ct/dashy.sh index 35e066fad..3211b3b2b 100644 --- a/ct/dashy.sh +++ b/ct/dashy.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/databasus.sh b/ct/databasus.sh index f45f62386..645f75be5 100644 --- a/ct/databasus.sh +++ b/ct/databasus.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" @@ -50,7 +50,10 @@ function update_script() { # Install MongoDB Database Tools via direct .deb (no APT repo for Debian 13) if ! command -v mongodump &>/dev/null; then [[ "$(get_os_info id)" == "ubuntu" ]] && MONGO_DIST="ubuntu2204" || MONGO_DIST="debian12" - fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-100.16.1.deb" + MONGO_ARCH=$(get_arch_value "x86_64" "arm64") + # MongoDB only publishes arm64 builds for Ubuntu + [[ "$MONGO_ARCH" == "arm64" ]] && MONGO_DIST="ubuntu2204" + fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-${MONGO_ARCH}-100.16.1.deb" fi [[ -f /usr/bin/mongodump ]] && ln -sf /usr/bin/mongodump /usr/local/mongodb-database-tools/bin/mongodump [[ -f /usr/bin/mongorestore ]] && ln -sf /usr/bin/mongorestore /usr/local/mongodb-database-tools/bin/mongorestore @@ -79,7 +82,7 @@ function update_script() { cd /opt/databasus/backend $STD go mod download $STD /root/go/bin/swag init -g cmd/main.go -o swagger - $STD env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o databasus ./cmd/main.go + $STD env CGO_ENABLED=0 GOOS=linux GOARCH=$(get_arch_value) go build -o databasus ./cmd/main.go mv /opt/databasus/backend/databasus /opt/databasus/databasus mkdir -p /opt/databasus/ui/build cp -r /opt/databasus/frontend/dist/* /opt/databasus/ui/build/ diff --git a/ct/dawarich.sh b/ct/dawarich.sh index 86e6c95e1..a7513508f 100644 --- a/ct/dawarich.sh +++ b/ct/dawarich.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/ddclient.sh b/ct/ddclient.sh index 1c3b354e5..19cbe70b2 100644 --- a/ct/ddclient.sh +++ b/ct/ddclient.sh @@ -13,7 +13,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/ddns-updater.sh b/ct/ddns-updater.sh index aa2016a63..5ed3fee03 100644 --- a/ct/ddns-updater.sh +++ b/ct/ddns-updater.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" @@ -37,7 +37,7 @@ function update_script() { cp -r /opt/ddns-updater/data /opt/ddns-updater_data_backup msg_ok "Backed up Data" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ddns-updater" "qdm12/ddns-updater" "singlefile" "latest" "/opt/ddns-updater" "ddns-updater_*_linux_amd64" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ddns-updater" "qdm12/ddns-updater" "singlefile" "latest" "/opt/ddns-updater" "ddns-updater_*_linux_$(get_arch_value)" msg_info "Restoring Data" cp -r /opt/ddns-updater_data_backup/. /opt/ddns-updater/data/ diff --git a/ct/deconz.sh b/ct/deconz.sh index b4fbe149e..517787295 100644 --- a/ct/deconz.sh +++ b/ct/deconz.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:-0}" header_info "$APP" diff --git a/ct/discopanel.sh b/ct/discopanel.sh index f71b64021..65bcecb77 100644 --- a/ct/discopanel.sh +++ b/ct/discopanel.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" @@ -42,8 +42,8 @@ function update_script() { cp /opt/discopanel/data/discopanel.db /opt/discopanel_backup_temp/discopanel.db msg_ok "Created Backup" - fetch_and_deploy_gh_release "discopanel" "nickheyer/discopanel" "prebuild" "latest" "/opt/discopanel" "discopanel-linux-amd64.tar.gz" - ln -sf /opt/discopanel/discopanel-linux-amd64 /opt/discopanel/discopanel + fetch_and_deploy_gh_release "discopanel" "nickheyer/discopanel" "prebuild" "latest" "/opt/discopanel" "discopanel-linux-$(get_arch_value).tar.gz" + ln -sf /opt/discopanel/discopanel-linux-$(get_arch_value) /opt/discopanel/discopanel msg_info "Restoring Data" mkdir -p /opt/discopanel/data diff --git a/ct/docuseal.sh b/ct/docuseal.sh index e33270257..cac476528 100644 --- a/ct/docuseal.sh +++ b/ct/docuseal.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-4096}" var_disk="${var_disk:-10}" 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/dokploy.sh b/ct/dokploy.sh index ee3a1a789..6d3bc0ad3 100644 --- a/ct/dokploy.sh +++ b/ct/dokploy.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" var_version="${var_version:-13}" -var_arm64="${var_arm64:-no}" +var_arm64="${var_arm64:-yes}" var_unprivileged="${var_unprivileged:-0}" header_info "$APP" diff --git a/ct/donetick.sh b/ct/donetick.sh index bb86e98b7..8b3952f38 100644 --- a/ct/donetick.sh +++ b/ct/donetick.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" @@ -39,7 +39,7 @@ function update_script() { mv /opt/donetick/config/selfhosted.yaml /opt/donetick/donetick.db /opt msg_ok "Backed Up Configurations" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "donetick" "donetick/donetick" "prebuild" "latest" "/opt/donetick" "donetick_Linux_x86_64.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "donetick" "donetick/donetick" "prebuild" "latest" "/opt/donetick" "donetick_Linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Restoring Configurations" mv /opt/selfhosted.yaml /opt/donetick/config diff --git a/ct/drawdb.sh b/ct/drawdb.sh index 03d4f1de1..6435181ab 100644 --- a/ct/drawdb.sh +++ b/ct/drawdb.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-6144}" var_disk="${var_disk:-5}" 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/drawio.sh b/ct/drawio.sh index c596433d1..02500707f 100644 --- a/ct/drawio.sh +++ b/ct/drawio.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/duplicati.sh b/ct/duplicati.sh index bc9eea4a2..5601f4da0 100644 --- a/ct/duplicati.sh +++ b/ct/duplicati.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-10}" 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/dynacat.sh b/ct/dynacat.sh index 5f7951bb6..c35d5601c 100644 --- a/ct/dynacat.sh +++ b/ct/dynacat.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" @@ -41,7 +41,7 @@ function update_script() { cp -r /opt/dynacat/data /opt/dynacat_data_backup msg_ok "Backed up Data" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dynacat" "Panonim/dynacat" "prebuild" "latest" "/opt/dynacat" "dynacat-linux-amd64.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dynacat" "Panonim/dynacat" "prebuild" "latest" "/opt/dynacat" "dynacat-linux-$(get_arch_value).tar.gz" msg_info "Restoring Data" cp -r /opt/dynacat_config_backup/. /opt/dynacat/config diff --git a/ct/ebusd.sh b/ct/ebusd.sh index 29cdff3f9..7a82d9186 100644 --- a/ct/ebusd.sh +++ b/ct/ebusd.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" @@ -33,7 +33,7 @@ function update_script() { systemctl stop ebusd msg_ok "Stopped Services" - fetch_and_deploy_gh_release "ebusd" "john30/ebusd" "binary" "latest" "/opt/ebusd" "ebusd-*_amd64-trixie_mqtt1.deb" + fetch_and_deploy_gh_release "ebusd" "john30/ebusd" "binary" "latest" "/opt/ebusd" "ebusd-*_$(get_arch_value)-trixie_mqtt1.deb" msg_info "Starting Services" systemctl start ebusd diff --git a/ct/emqx.sh b/ct/emqx.sh index 1b260e5a2..b2dcac825 100644 --- a/ct/emqx.sh +++ b/ct/emqx.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" 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" @@ -42,8 +42,8 @@ function update_script() { msg_ok "Removed old EMQX" msg_info "Downloading EMQX v${RELEASE}" - DEB_FILE="/tmp/emqx-enterprise-${RELEASE}-debian12-amd64.deb" - curl -fsSL -o "$DEB_FILE" "https://www.emqx.com/en/downloads/enterprise/v${RELEASE}/emqx-enterprise-${RELEASE}-debian12-amd64.deb" + DEB_FILE="/tmp/emqx-enterprise-${RELEASE}-debian12-$(get_arch_value).deb" + curl -fsSL -o "$DEB_FILE" "https://www.emqx.com/en/downloads/enterprise/v${RELEASE}/emqx-enterprise-${RELEASE}-debian12-$(get_arch_value).deb" msg_ok "Downloaded EMQX" msg_info "Installing EMQX" diff --git a/ct/erpnext.sh b/ct/erpnext.sh index e5265e19d..d2a00bd6a 100644 --- a/ct/erpnext.sh +++ b/ct/erpnext.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-4096}" 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/ersatztv.sh b/ct/ersatztv.sh index 92b153237..303f8836f 100644 --- a/ct/ersatztv.sh +++ b/ct/ersatztv.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-1024}" var_disk="${var_disk:-5}" 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}" @@ -33,7 +33,7 @@ function update_script() { systemctl stop ersatzTV msg_ok "Stopped ErsatzTV" - fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" + fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-$(get_arch_value "x64" "arm64").tar.gz" msg_info "Starting ErsatzTV" systemctl start ersatzTV @@ -47,7 +47,7 @@ function update_script() { systemctl stop ersatzTV msg_ok "Stopped ErsatzTV" - fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz" + fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-$(get_arch_value "linux64" "linuxarm64")-gpl-7.1.tar.xz" msg_info "Set ErsatzTV-ffmpeg links" chmod +x /opt/ErsatzTV-ffmpeg/bin/* diff --git a/ct/espconnect.sh b/ct/espconnect.sh index 7a7b9d161..6ab876afa 100644 --- a/ct/espconnect.sh +++ b/ct/espconnect.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" diff --git a/ct/ezbookkeeping.sh b/ct/ezbookkeeping.sh index 9738c674f..3ac227438 100644 --- a/ct/ezbookkeeping.sh +++ b/ct/ezbookkeeping.sh @@ -13,7 +13,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" @@ -42,7 +42,7 @@ function update_script() { cp -r /opt/ezbookkeeping/storage /opt/ezbookkeeping-backup/storage/ msg_ok "Backed up configuration" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ezbookkeeping" "mayswind/ezbookkeeping" "prebuild" "latest" "/opt/ezbookkeeping" "ezbookkeeping-*-linux-amd64.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ezbookkeeping" "mayswind/ezbookkeeping" "prebuild" "latest" "/opt/ezbookkeeping" "ezbookkeeping-*-linux-$(get_arch_value).tar.gz" msg_info "Restoring configuration" cp -rf /opt/ezbookkeeping-backup/ezbookkeeping.ini /opt/ezbookkeeping/conf/ diff --git a/ct/fileflows.sh b/ct/fileflows.sh index a8c5bc802..1f33d2dd0 100644 --- a/ct/fileflows.sh +++ b/ct/fileflows.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}" var_gpu="${var_gpu:-yes}" diff --git a/ct/fireshare.sh b/ct/fireshare.sh index 1f2b4a580..296cb6c01 100644 --- a/ct/fireshare.sh +++ b/ct/fireshare.sh @@ -13,7 +13,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" 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/fladder.sh b/ct/fladder.sh index b9e59168a..4a7d4ca3d 100644 --- a/ct/fladder.sh +++ b/ct/fladder.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/foldergram.sh b/ct/foldergram.sh index 50d5d3d89..218150f27 100644 --- a/ct/foldergram.sh +++ b/ct/foldergram.sh @@ -13,7 +13,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/forgejo.sh b/ct/forgejo.sh index 7385e45b1..d4bff7bc4 100644 --- a/ct/forgejo.sh +++ b/ct/forgejo.sh @@ -12,7 +12,7 @@ var_ram="${var_ram:-2048}" var_disk="${var_disk:-10}" 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 forgejo msg_ok "Stopped Service" - fetch_and_deploy_codeberg_release "forgejo" "forgejo/forgejo" "singlefile" "latest" "/opt/forgejo" "forgejo-*-linux-amd64" + fetch_and_deploy_codeberg_release "forgejo" "forgejo/forgejo" "singlefile" "latest" "/opt/forgejo" "forgejo-*-linux-$(get_arch_value)" ln -sf /opt/forgejo/forgejo /usr/local/bin/forgejo if grep -q "GITEA_WORK_DIR" /etc/systemd/system/forgejo.service; then diff --git a/install/adguard-install.sh b/install/adguard-install.sh index 99089c6a6..569abb07e 100644 --- a/install/adguard-install.sh +++ b/install/adguard-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "AdGuardHome" "AdguardTeam/AdGuardHome" "prebuild" "latest" "/opt/AdGuardHome" "AdGuardHome_linux_amd64.tar.gz" +fetch_and_deploy_gh_release "AdGuardHome" "AdguardTeam/AdGuardHome" "prebuild" "latest" "/opt/AdGuardHome" "AdGuardHome_linux_$(get_arch_value).tar.gz" msg_info "Creating Service" cat </etc/systemd/system/AdGuardHome.service diff --git a/install/agentdvr-install.sh b/install/agentdvr-install.sh index 113df231f..ab066b459 100644 --- a/install/agentdvr-install.sh +++ b/install/agentdvr-install.sh @@ -25,13 +25,13 @@ msg_ok "Installed Dependencies" msg_info "Installing AgentDVR" mkdir -p /opt/agentdvr/agent -RELEASE=$(curl -fsSL "https://www.ispyconnect.com/api/Agent/DownloadLocation4?platform=Linux64&fromVersion=0" | grep -o 'https://.*\.zip') +RELEASE=$(curl -fsSL "https://www.ispyconnect.com/api/Agent/DownloadLocation4?platform=$(get_arch_value "Linux64" "LinuxARM64")&fromVersion=0" | grep -o 'https://.*\.zip') cd /opt/agentdvr/agent curl -fsSL "$RELEASE" -o $(basename "$RELEASE") -$STD unzip Agent_Linux64*.zip +$STD unzip Agent_$(get_arch_value "Linux64" "LinuxARM64")*.zip chmod +x ./Agent echo $RELEASE >~/.agentdvr -rm -rf Agent_Linux64*.zip +rm -rf Agent_$(get_arch_value "Linux64" "LinuxARM64")*.zip msg_ok "Installed AgentDVR" msg_info "Creating Service" diff --git a/install/alpine-adguard-install.sh b/install/alpine-adguard-install.sh index 2349e6f2c..383c73e59 100644 --- a/install/alpine-adguard-install.sh +++ b/install/alpine-adguard-install.sh @@ -14,13 +14,13 @@ network_check update_os msg_info "Downloading AdGuard Home" -$STD curl -fsSL -o /tmp/AdGuardHome_linux_amd64.tar.gz \ - "https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_amd64.tar.gz" +$STD curl -fsSL -o /tmp/AdGuardHome_linux_$(get_arch_value).tar.gz \ +"https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_$(get_arch_value).tar.gz" msg_ok "Downloaded AdGuard Home" msg_info "Installing AdGuard Home" -$STD tar -xzf /tmp/AdGuardHome_linux_amd64.tar.gz -C /opt -$STD rm /tmp/AdGuardHome_linux_amd64.tar.gz +$STD tar -xzf /tmp/AdGuardHome_linux_$(get_arch_value).tar.gz -C /opt +$STD rm /tmp/AdGuardHome_linux_$(get_arch_value).tar.gz msg_ok "Installed AdGuard Home" msg_info "Creating AdGuard Home Service" diff --git a/install/alpine-docker-install.sh b/install/alpine-docker-install.sh index 2d66b3920..5896c25ec 100644 --- a/install/alpine-docker-install.sh +++ b/install/alpine-docker-install.sh @@ -62,7 +62,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p "$DOCKER_CONFIG"/cli-plugins - curl -fsSL https://github.com/docker/compose/releases/download/"$DOCKER_COMPOSE_LATEST_VERSION"/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + curl -fsSL https://github.com/docker/compose/releases/download/"$DOCKER_COMPOSE_LATEST_VERSION"/docker-compose-linux-$(get_arch_value "x86_64" "aarch64") -o ~/.docker/cli-plugins/docker-compose chmod +x "$DOCKER_CONFIG"/cli-plugins/docker-compose msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" fi diff --git a/install/alpine-garage-install.sh b/install/alpine-garage-install.sh index 770adc60f..ccc1b2c26 100644 --- a/install/alpine-garage-install.sh +++ b/install/alpine-garage-install.sh @@ -18,7 +18,7 @@ $STD apk add --no-cache openssl msg_ok "Installed Dependencies" GITEA_RELEASE=$(curl -s https://api.github.com/repos/deuxfleurs-org/garage/tags | jq -r '.[0].name') -curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage +curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/$(get_arch_value "x86_64" "aarch64")-unknown-linux-musl/garage" -o /usr/local/bin/garage chmod +x /usr/local/bin/garage mkdir -p /var/lib/garage/{data,meta,snapshots} mkdir -p /etc/garage diff --git a/install/alpine-rclone-install.sh b/install/alpine-rclone-install.sh index de5b3d6cc..1e76a1aec 100644 --- a/install/alpine-rclone-install.sh +++ b/install/alpine-rclone-install.sh @@ -22,7 +22,7 @@ msg_info "Installing rclone" temp_file=$(mktemp) mkdir -p /opt/rclone RELEASE=$(curl -s https://api.github.com/repos/rclone/rclone/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclone-v${RELEASE}-linux-amd64.zip" -o "$temp_file" +curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclone-v${RELEASE}-linux-$(get_arch_value).zip" -o "$temp_file" $STD unzip -j "$temp_file" '*/**' -d /opt/rclone cd /opt/rclone RCLONE_PASSWORD=$(head -c 16 /dev/urandom | xxd -p -c 16) diff --git a/install/alpine-redlib-install.sh b/install/alpine-redlib-install.sh index 31269d74b..8afce8489 100644 --- a/install/alpine-redlib-install.sh +++ b/install/alpine-redlib-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz" +fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-$(get_arch_value "x86_64" "aarch64")-unknown-linux-musl.tar.gz" msg_info "Configuring Redlib" cat </opt/redlib/redlib.conf diff --git a/install/alpine-rustdeskserver-install.sh b/install/alpine-rustdeskserver-install.sh index 80293a998..df7ee1036 100644 --- a/install/alpine-rustdeskserver-install.sh +++ b/install/alpine-rustdeskserver-install.sh @@ -16,9 +16,10 @@ update_os RELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Installing RustDesk Server v${RELEASE}" temp_file1=$(mktemp) -curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1" +ARCH=$(get_arch_value "amd64" "arm64v8") +curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-${ARCH}.zip" -o "$temp_file1" $STD unzip "$temp_file1" -mv amd64 /opt/rustdesk-server +mv "$ARCH" /opt/rustdesk-server mkdir -p /root/.config/rustdesk cd /opt/rustdesk-server ./rustdesk-utils genkeypair >/tmp/rustdesk_keys.txt @@ -33,7 +34,7 @@ msg_ok "Installed RustDesk Server v${RELEASE}" APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing RustDesk API v${APIRELEASE}" temp_file2=$(mktemp) -curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2" +curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-$(get_arch_value).tar.gz" -o "$temp_file2" $STD tar zxvf "$temp_file2" mv release /opt/rustdesk-api cd /opt/rustdesk-api diff --git a/install/alpine-tinyauth-install.sh b/install/alpine-tinyauth-install.sh index fe759e66b..ae150058b 100644 --- a/install/alpine-tinyauth-install.sh +++ b/install/alpine-tinyauth-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Tinyauth" mkdir -p /opt/tinyauth RELEASE=$(curl -s https://api.github.com/repos/tinyauthapp/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/tinyauthapp/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth +curl -fsSL "https://github.com/tinyauthapp/tinyauth/releases/download/v${RELEASE}/tinyauth-$(get_arch_value)" -o /opt/tinyauth/tinyauth chmod +x /opt/tinyauth/tinyauth PASS=$(openssl rand -base64 8 | tr -dc 'a-zA-Z0-9' | head -c 8) USER=$(htpasswd -Bbn "tinyauth" "${PASS}") diff --git a/install/alpine-wakapi-install.sh b/install/alpine-wakapi-install.sh index dbd28cf0a..cbb967eb8 100644 --- a/install/alpine-wakapi-install.sh +++ b/install/alpine-wakapi-install.sh @@ -20,7 +20,7 @@ $STD apk add --no-cache \ $STD update-ca-certificates msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "wakapi" "muety/wakapi" "prebuild" "latest" "/opt/wakapi" "wakapi_linux_amd64.zip" +fetch_and_deploy_gh_release "wakapi" "muety/wakapi" "prebuild" "latest" "/opt/wakapi" "wakapi_linux_$(get_arch_value).zip" msg_info "Configuring Wakapi" LOCAL_IP=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1) diff --git a/install/anytype-server-install.sh b/install/anytype-server-install.sh index c7d3dd023..36fc2dc0e 100644 --- a/install/anytype-server-install.sh +++ b/install/anytype-server-install.sh @@ -42,7 +42,7 @@ $STD apt install -y redis-stack-server systemctl enable -q --now redis-stack-server msg_ok "Installed Redis Stack" -fetch_and_deploy_gh_release "anytype" "grishy/any-sync-bundle" "prebuild" "latest" "/opt/anytype" "any-sync-bundle_*_linux_amd64.tar.gz" +fetch_and_deploy_gh_release "anytype" "grishy/any-sync-bundle" "prebuild" "latest" "/opt/anytype" "any-sync-bundle_*_linux_$(get_arch_value).tar.gz" chmod +x /opt/anytype/any-sync-bundle msg_info "Configuring Anytype" diff --git a/install/apache-tomcat-install.sh b/install/apache-tomcat-install.sh index c6d8843ba..2de5481c4 100644 --- a/install/apache-tomcat-install.sh +++ b/install/apache-tomcat-install.sh @@ -80,7 +80,7 @@ After=network.target Type=forking User=$(whoami) Group=$(whoami) -Environment=JAVA_HOME=/usr/lib/jvm/temurin-${jdk_version}-jdk-amd64 +Environment=JAVA_HOME=/usr/lib/jvm/temurin-${jdk_version}-jdk-$(get_arch_value) Environment=CATALINA_HOME=/opt/tomcat-$TOMCAT_VERSION Environment=CATALINA_BASE=/opt/tomcat-$TOMCAT_VERSION Environment=CATALINA_PID=/opt/tomcat-$TOMCAT_VERSION/temp/tomcat.pid diff --git a/install/argus-install.sh b/install/argus-install.sh index 12e3e0079..367a464a2 100644 --- a/install/argus-install.sh +++ b/install/argus-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "Argus" "release-argus/Argus" "singlefile" "latest" "/opt/argus" "Argus*linux-amd64" +fetch_and_deploy_gh_release "Argus" "release-argus/Argus" "singlefile" "latest" "/opt/argus" "Argus*linux-$(get_arch_value)" msg_info "Setup Argus Config" cat </opt/argus/config.yml diff --git a/install/authentik-install.sh b/install/authentik-install.sh index f959493dd..77251987d 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -42,8 +42,8 @@ $STD apt install -y \ libtool \ libtool-bin \ gcc \ - crossbuild-essential-amd64 \ - gcc-x86-64-linux-gnu \ + crossbuild-essential-$(get_arch_value) \ + gcc-$(get_arch_value "x86-64" "aarch64")-linux-gnu \ cmake \ clang \ libunwind-18-dev \ @@ -90,7 +90,7 @@ msg_ok "Setup web" msg_info "Setting up go proxy" cd /opt/authentik export CGO_ENABLED="1" -export CC="x86_64-linux-gnu-gcc" +export CC="$(get_arch_value "x86_64" "aarch64")-linux-gnu-gcc" $STD go mod download $STD go build -o /opt/authentik/authentik-server ./cmd/server $STD go build -o /opt/authentik/ldap ./cmd/ldap diff --git a/install/autobrr-install.sh b/install/autobrr-install.sh index 40a5c8a80..acbfc71b9 100644 --- a/install/autobrr-install.sh +++ b/install/autobrr-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz" +fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Configuring Autobrr" mkdir -p /root/.config/autobrr diff --git a/install/autocaliweb-install.sh b/install/autocaliweb-install.sh index 3ce812b66..10c7e8a9d 100644 --- a/install/autocaliweb-install.sh +++ b/install/autocaliweb-install.sh @@ -45,9 +45,9 @@ $STD apt install -y --no-install-recommends \ zip msg_ok "Installed dependencies" -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-$(get_arch_value "64bit" "arm64")" KEPUB_VERSION="$(/usr/bin/kepubify --version | awk '{print $2}')" -fetch_and_deploy_gh_release "calibre" "kovidgoyal/calibre" "prebuild" "latest" "/opt/calibre" "calibre-*-x86_64.txz" +fetch_and_deploy_gh_release "calibre" "kovidgoyal/calibre" "prebuild" "latest" "/opt/calibre" "calibre-*-$(get_arch_value "x86_64" "arm64").txz" msg_info "Installing Calibre" $STD /opt/calibre/calibre_postinstall diff --git a/install/backrest-install.sh b/install/backrest-install.sh index f7f861cb7..97bfb6613 100644 --- a/install/backrest-install.sh +++ b/install/backrest-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "backrest" "garethgeorge/backrest" "prebuild" "latest" "/opt/backrest/bin" "backrest_Linux_x86_64.tar.gz" +fetch_and_deploy_gh_release "backrest" "garethgeorge/backrest" "prebuild" "latest" "/opt/backrest/bin" "backrest_Linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Creating Service" cat </opt/backrest/.env diff --git a/install/beszel-install.sh b/install/beszel-install.sh index 395f0b04b..e6e8659a9 100644 --- a/install/beszel-install.sh +++ b/install/beszel-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "beszel" "henrygd/beszel" "prebuild" "latest" "/opt/beszel" "beszel_linux_amd64.tar.gz" +fetch_and_deploy_gh_release "beszel" "henrygd/beszel" "prebuild" "latest" "/opt/beszel" "beszel_linux_$(get_arch_value).tar.gz" msg_info "Creating Service" cat </etc/systemd/system/beszel-hub.service diff --git a/install/bichon-install.sh b/install/bichon-install.sh index 8a4b38cfd..9401cbc00 100644 --- a/install/bichon-install.sh +++ b/install/bichon-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "latest" "/opt/bichon" "bichon-*-x86_64-unknown-linux-gnu.tar.gz" +fetch_and_deploy_gh_release "bichon" "rustmailer/bichon" "prebuild" "latest" "/opt/bichon" "bichon-*-$(get_arch_value "x86_64" "aarch64")-unknown-linux-gnu.tar.gz" read -r -p "${TAB3}Enter the public URL for Bichon (e.g., https://bichon.yourdomain.com) or leave empty to use container IP: " bichon_url if [[ -z "$bichon_url" ]]; then diff --git a/install/birdnet-go-install.sh b/install/birdnet-go-install.sh index 45c0acaf3..319ce598a 100644 --- a/install/birdnet-go-install.sh +++ b/install/birdnet-go-install.sh @@ -21,7 +21,7 @@ $STD apt install -y \ ffmpeg msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "birdnet" "tphakala/birdnet-go" "prebuild" "latest" "/opt/birdnet" "birdnet-go-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "birdnet" "tphakala/birdnet-go" "prebuild" "latest" "/opt/birdnet" "birdnet-go-linux-$(get_arch_value).tar.gz" msg_info "Setting up BirdNET-Go" cp /opt/birdnet/birdnet-go /usr/local/bin/birdnet-go diff --git a/install/bitfocus-companion-install.sh b/install/bitfocus-companion-install.sh index 22c976306..4f4fa6405 100644 --- a/install/bitfocus-companion-install.sh +++ b/install/bitfocus-companion-install.sh @@ -19,11 +19,15 @@ msg_ok "Installed Dependencies" msg_info "Fetching Latest Bitfocus Companion Release" RELEASE_JSON=$(curl -fsSL "https://api.bitfocus.io/v1/product/companion/packages?limit=20") -PACKAGE_JSON=$(echo "$RELEASE_JSON" | jq -c '(if type == "array" then . else .packages end) | [.[] | select(.target=="linux-tgz" and (.uri | contains("linux-x64")))] | first') +COMPANION_ARCH=$(get_arch_value "x64" "arm64") +PACKAGE_JSON=$(echo "$RELEASE_JSON" | jq -c \ + --arg target "linux-$(get_arch_value "tgz" "arm64-tgz")" \ + --arg arch "linux-$COMPANION_ARCH" \ + '(if type == "array" then . else .packages end) | [.[] | select(.target==$target and (.uri | contains($arch)))] | first') RELEASE=$(echo "$PACKAGE_JSON" | jq -r '.version // empty') ASSET_URL=$(echo "$PACKAGE_JSON" | jq -r '.uri // empty') if [[ -z "$RELEASE" || -z "$ASSET_URL" ]]; then - msg_error "Could not resolve a matching Linux x64 Companion package from the Bitfocus API." + msg_error "Could not resolve a matching Linux ${COMPANION_ARCH} Companion package from the Bitfocus API." exit 1 fi msg_ok "Found Companion ${RELEASE}" diff --git a/install/blocky-install.sh b/install/blocky-install.sh index 4b176b8db..6cd94016a 100644 --- a/install/blocky-install.sh +++ b/install/blocky-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz" +fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Configuring Blocky" if systemctl is-active systemd-resolved >/dev/null 2>&1; then diff --git a/install/certimate-install.sh b/install/certimate-install.sh index 1c4e149a2..4a72a7939 100644 --- a/install/certimate-install.sh +++ b/install/certimate-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "certimate" "certimate-go/certimate" "prebuild" "latest" "/opt/certimate" "certimate_*_linux_amd64.zip" +fetch_and_deploy_gh_release "certimate" "certimate-go/certimate" "prebuild" "latest" "/opt/certimate" "certimate_*_linux_$(get_arch_value).zip" msg_info "Creating Service" cat <<'EOF' >/etc/systemd/system/certimate.service diff --git a/install/cleanuparr-install.sh b/install/cleanuparr-install.sh old mode 100755 new mode 100644 index ff83f0a0e..397d23e64 --- a/install/cleanuparr-install.sh +++ b/install/cleanuparr-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip" +fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-$(get_arch_value).zip" msg_info "Creating Service" cat </etc/systemd/system/cleanuparr.service diff --git a/install/cliproxyapi-install.sh b/install/cliproxyapi-install.sh index c60f1e721..17312b9e5 100644 --- a/install/cliproxyapi-install.sh +++ b/install/cliproxyapi-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Dependencies" $STD apt install -y openssl msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "cliproxyapi" "router-for-me/CLIProxyAPI" "prebuild" "latest" "/opt/cliproxyapi" "CLIProxyAPI_*_linux_amd64.tar.gz" +fetch_and_deploy_gh_release "cliproxyapi" "router-for-me/CLIProxyAPI" "prebuild" "latest" "/opt/cliproxyapi" "CLIProxyAPI_*_linux_$(get_arch_value "amd64" "aarch64").tar.gz" msg_info "Configuring CLIProxyAPI" MANAGEMENT_PASSWORD=$(openssl rand -hex 32) diff --git a/install/cloudreve-install.sh b/install/cloudreve-install.sh index de91cbf58..6f5c411a4 100644 --- a/install/cloudreve-install.sh +++ b/install/cloudreve-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "cloudreve" "cloudreve/cloudreve" "prebuild" "latest" "/opt/cloudreve" "*linux_amd64.tar.gz" +fetch_and_deploy_gh_release "cloudreve" "cloudreve/cloudreve" "prebuild" "latest" "/opt/cloudreve" "*linux_$(get_arch_value).tar.gz" msg_info "Setup Service" cat </etc/systemd/system/cloudreve.service diff --git a/install/cockpit-install.sh b/install/cockpit-install.sh index aee48496a..90f06593d 100644 --- a/install/cockpit-install.sh +++ b/install/cockpit-install.sh @@ -30,7 +30,8 @@ $STD apt install -t ${VERSION_CODENAME}-backports cockpit cracklib-runtime --no- sed -i "s/root//g" /etc/cockpit/disallowed-users msg_ok "Installed Cockpit" -read -r -p "Would you like to install 45Drives' cockpit-file-sharing, cockpit-identities, and cockpit-navigator " prompt +# 45Drives only publishes amd64 packages +[[ "$(get_arch_value)" == "arm64" ]] || read -r -p "Would you like to install 45Drives' cockpit-file-sharing, cockpit-identities, and cockpit-navigator " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then install_45drives=true if [[ "${VERSION_ID}" -ge 13 ]]; then diff --git a/install/configarr-install.sh b/install/configarr-install.sh index 8fe0d91be..423a745c0 100644 --- a/install/configarr-install.sh +++ b/install/configarr-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Dependencies" $STD apt install -y git msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr" "prebuild" "latest" "/opt/configarr" "configarr-linux-x64.tar.xz" +fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr" "prebuild" "latest" "/opt/configarr" "configarr-linux-$(get_arch_value "x64" "arm64").tar.xz" msg_info "Setup Configarr" cat </opt/configarr/.env diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index 463d17afb..74c6450ca 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -25,7 +25,7 @@ $STD apt install -y \ msg_ok "Installed Dependencies" setup_docker -fetch_and_deploy_gh_release "cosmos" "azukaar/Cosmos-Server" "prebuild" "latest" "/opt/cosmos" "cosmos-cloud-*-amd64.zip" +fetch_and_deploy_gh_release "cosmos" "azukaar/Cosmos-Server" "prebuild" "latest" "/opt/cosmos" "cosmos-cloud-*-$(get_arch_value).zip" msg_info "Setting up Cosmos" cd /opt/cosmos diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index 904332147..309d4c4d0 100644 --- a/install/crafty-controller-install.sh +++ b/install/crafty-controller-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Setting up TemurinJDK" setup_java $STD apt install -y temurin-{8,11,17,21,25}-jre -sudo update-alternatives --set java /usr/lib/jvm/temurin-25-jre-amd64/bin/java +sudo update-alternatives --set java /usr/lib/jvm/temurin-25-jre-$(get_arch_value)/bin/java msg_ok "Installed TemurinJDK" msg_info "Setup Python3" @@ -59,7 +59,7 @@ After=network.target Type=simple User=crafty WorkingDirectory=/opt/crafty-controller/crafty/crafty-4 -Environment=PATH=/usr/lib/jvm/temurin-25-jre-amd64/bin:/opt/crafty-controller/crafty/.venv/bin:$PATH +Environment=PATH=/usr/lib/jvm/temurin-25-jre-$(get_arch_value)/bin:/opt/crafty-controller/crafty/.venv/bin:$PATH ExecStart=/opt/crafty-controller/crafty/.venv/bin/python3 main.py -d Restart=on-failure diff --git a/install/dagu-install.sh b/install/dagu-install.sh index 898b8a0a9..560ff3349 100644 --- a/install/dagu-install.sh +++ b/install/dagu-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "dagu" "dagucloud/dagu" "prebuild" "latest" "/opt/dagu" "dagu_*_linux_amd64.tar.gz" +fetch_and_deploy_gh_release "dagu" "dagucloud/dagu" "prebuild" "latest" "/opt/dagu" "dagu_*_linux_$(get_arch_value).tar.gz" msg_info "Setting up Dagu" mkdir -p /opt/dagu/data diff --git a/install/databasus-install.sh b/install/databasus-install.sh index 7e7adf977..fe8a92b15 100644 --- a/install/databasus-install.sh +++ b/install/databasus-install.sh @@ -32,8 +32,10 @@ for v in 12 13 14 15 16 18; do done # Install MongoDB Database Tools via direct .deb (no APT repo for Debian 13) [[ "$(get_os_info id)" == "ubuntu" ]] && MONGO_DIST="ubuntu2204" || MONGO_DIST="debian12" +# MongoDB only publishes arm64 builds for Ubuntu +[[ "$MONGO_ARCH" == "arm64" ]] && MONGO_DIST="ubuntu2204" MONGO_VERSION=$(get_latest_gh_tag "mongodb/mongo-tools" "100." || echo "100.16.1") -fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-x86_64-${MONGO_VERSION}.deb" "" +fetch_and_deploy_from_url "https://fastdl.mongodb.org/tools/db/mongodb-database-tools-${MONGO_DIST}-$(get_arch_value "x86_64" "arm64")-${MONGO_VERSION}.deb" "" mkdir -p /usr/local/mongodb-database-tools/bin [[ -f /usr/bin/mongodump ]] && ln -sf /usr/bin/mongodump /usr/local/mongodb-database-tools/bin/mongodump [[ -f /usr/bin/mongorestore ]] && ln -sf /usr/bin/mongorestore /usr/local/mongodb-database-tools/bin/mongorestore @@ -63,7 +65,7 @@ $STD go mod tidy $STD go mod download $STD go install github.com/swaggo/swag/cmd/swag@latest $STD /root/go/bin/swag init -g cmd/main.go -o swagger -$STD env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o databasus ./cmd/main.go +$STD env CGO_ENABLED=0 GOOS=linux GOARCH=$(get_arch_value) go build -o databasus ./cmd/main.go mv /opt/databasus/backend/databasus /opt/databasus/databasus mkdir -p /databasus-data/{pgdata,temp,backups,data,logs} mkdir -p /opt/databasus/ui/build diff --git a/install/ddns-updater-install.sh b/install/ddns-updater-install.sh index 6d340ad1b..68f4e08ce 100644 --- a/install/ddns-updater-install.sh +++ b/install/ddns-updater-install.sh @@ -12,7 +12,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "ddns-updater" "qdm12/ddns-updater" "singlefile" "latest" "/opt/ddns-updater" "ddns-updater_*_linux_amd64" +fetch_and_deploy_gh_release "ddns-updater" "qdm12/ddns-updater" "singlefile" "latest" "/opt/ddns-updater" "ddns-updater_*_linux_$(get_arch_value)" msg_info "Configuring DDNS-Updater" mkdir -p /opt/ddns-updater/data diff --git a/install/deconz-install.sh b/install/deconz-install.sh index 8fbd6a598..ce1e312e3 100644 --- a/install/deconz-install.sh +++ b/install/deconz-install.sh @@ -22,8 +22,9 @@ setup_deb822_repo \ msg_ok "Setup Phoscon Repository" msg_info "Installing deConz" -libssl=$(curl -fsSL --proto '=https' "https://security.ubuntu.com/ubuntu/pool/main/o/openssl/" | grep -o 'libssl1\.1_1\.1\.1f-1ubuntu2\.2[^"]*amd64\.deb' | head -n1) -curl -fsSL --proto '=https' "https://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl" -o "$libssl" +pool="$(get_arch_value "https://security.ubuntu.com/ubuntu/pool/main/o/openssl/" "http://ports.ubuntu.com/ubuntu-ports/pool/main/o/openssl/")" +libssl=$(curl -fsSL --proto '=http,https' "$pool" | grep -o "libssl1\.1_1\.1\.1f-1ubuntu2\.2[^\"]*$(get_arch_value)\.deb" | head -n1) +curl -fsSL --proto '=http,https' "$pool$libssl" -o "$libssl" $STD dpkg -i "$libssl" $STD apt install -y deconz rm -rf "$libssl" diff --git a/install/discopanel-install.sh b/install/discopanel-install.sh index 26273d848..b77288c5c 100644 --- a/install/discopanel-install.sh +++ b/install/discopanel-install.sh @@ -12,7 +12,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "discopanel" "nickheyer/discopanel" "prebuild" "latest" "/opt/discopanel" "discopanel-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "discopanel" "nickheyer/discopanel" "prebuild" "latest" "/opt/discopanel" "discopanel-linux-$(get_arch_value).tar.gz" setup_docker msg_info "Creating Service" @@ -23,7 +23,7 @@ After=network.target [Service] WorkingDirectory=/opt/discopanel -ExecStart=/opt/discopanel/discopanel-linux-amd64 +ExecStart=/opt/discopanel/discopanel-linux-$(get_arch_value) Restart=always [Install] diff --git a/install/donetick-install.sh b/install/donetick-install.sh index 128afa289..e144089d3 100644 --- a/install/donetick-install.sh +++ b/install/donetick-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Dependencies" $STD apt install -y ca-certificates msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "donetick" "donetick/donetick" "prebuild" "latest" "/opt/donetick" "donetick_Linux_x86_64.tar.gz" +fetch_and_deploy_gh_release "donetick" "donetick/donetick" "prebuild" "latest" "/opt/donetick" "donetick_Linux_$(get_arch_value "x86_64" "arm64").tar.gz" msg_info "Setup Donetick" cd /opt/donetick diff --git a/install/duplicati-install.sh b/install/duplicati-install.sh index feb60ef37..f73ac3b2e 100644 --- a/install/duplicati-install.sh +++ b/install/duplicati-install.sh @@ -20,7 +20,7 @@ $STD apt install -y \ libfontconfig1 msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb" +fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-$(get_arch_value "x64" "arm64")-gui.deb" msg_info "Configuring duplicati" DECRYPTKEY=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) diff --git a/install/dynacat-install.sh b/install/dynacat-install.sh index afba5888a..b3d5efdf4 100644 --- a/install/dynacat-install.sh +++ b/install/dynacat-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "dynacat" "Panonim/dynacat" "prebuild" "latest" "/opt/dynacat" "dynacat-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "dynacat" "Panonim/dynacat" "prebuild" "latest" "/opt/dynacat" "dynacat-linux-$(get_arch_value).tar.gz" msg_info "Setting up Dynacat" mkdir -p /opt/dynacat/config /opt/dynacat/assets /opt/dynacat/data diff --git a/install/ebusd-install.sh b/install/ebusd-install.sh index 6d8f4389d..0af646e1a 100644 --- a/install/ebusd-install.sh +++ b/install/ebusd-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing ebusd" -fetch_and_deploy_gh_release "ebusd" "john30/ebusd" "binary" "latest" "" "ebusd-*_amd64-trixie_mqtt1.deb" +fetch_and_deploy_gh_release "ebusd" "john30/ebusd" "binary" "latest" "" "ebusd-*_$(get_arch_value)-trixie_mqtt1.deb" systemctl enable -q ebusd msg_ok "Installed ebusd" diff --git a/install/emqx-install.sh b/install/emqx-install.sh index 8729f48c2..df43a996b 100644 --- a/install/emqx-install.sh +++ b/install/emqx-install.sh @@ -25,8 +25,8 @@ if [[ -z "$LATEST_VERSION" ]]; then fi msg_ok "Latest version: v$LATEST_VERSION" -DOWNLOAD_URL="https://www.emqx.com/en/downloads/enterprise/v$LATEST_VERSION/emqx-enterprise-${LATEST_VERSION}-debian12-amd64.deb" -DEB_FILE="/tmp/emqx-enterprise-${LATEST_VERSION}-debian12-amd64.deb" +DOWNLOAD_URL="https://www.emqx.com/en/downloads/enterprise/v$LATEST_VERSION/emqx-enterprise-${LATEST_VERSION}-debian12-$(get_arch_value).deb" +DEB_FILE="/tmp/emqx-enterprise-${LATEST_VERSION}-debian12-$(get_arch_value).deb" msg_info "Downloading EMQX v$LATEST_VERSION" $STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL" diff --git a/install/erpnext-install.sh b/install/erpnext-install.sh index 757ef95fc..6daf14b5c 100644 --- a/install/erpnext-install.sh +++ b/install/erpnext-install.sh @@ -30,7 +30,8 @@ $STD apt install -y \ fontconfig \ libjpeg-dev \ libmariadb-dev \ - python3-pip + python3-pip \ + cron msg_ok "Installed Dependencies" NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs @@ -50,7 +51,7 @@ $STD systemctl restart mariadb msg_ok "Configured MariaDB for ERPNext" msg_info "Installing wkhtmltopdf" -WKHTMLTOPDF_URL="https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb" +WKHTMLTOPDF_URL="https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_$(get_arch_value).deb" $STD curl -fsSL -o /tmp/wkhtmltox.deb "$WKHTMLTOPDF_URL" $STD apt install -y /tmp/wkhtmltox.deb rm -f /tmp/wkhtmltox.deb diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index c93c68f19..8cafffea5 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -14,8 +14,8 @@ network_check update_os setup_hwaccel -fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz" -fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz" +fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-$(get_arch_value "x64" "arm64").tar.gz" +fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-$(get_arch_value "linux64" "linuxarm64")-gpl-7.1.tar.xz" msg_info "Set ErsatzTV-ffmpeg links" chmod +x /opt/ErsatzTV-ffmpeg/bin/* diff --git a/install/ezbookkeeping-install.sh b/install/ezbookkeeping-install.sh index 38a234f12..ceb6365f0 100644 --- a/install/ezbookkeeping-install.sh +++ b/install/ezbookkeeping-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "ezbookkeeping" "mayswind/ezbookkeeping" "prebuild" "latest" "/opt/ezbookkeeping" "ezbookkeeping-*-linux-amd64.tar.gz" +fetch_and_deploy_gh_release "ezbookkeeping" "mayswind/ezbookkeeping" "prebuild" "latest" "/opt/ezbookkeeping" "ezbookkeeping-*-linux-$(get_arch_value).tar.gz" create_self_signed_cert msg_info "Configuring ezBookkeeping" diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index b7b2aceef..e826d0eb6 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -23,12 +23,20 @@ msg_ok "Installed Dependencies" setup_hwaccel msg_info "Installing ASP.NET Core Runtime" -setup_deb822_repo \ - "microsoft" \ - "https://packages.microsoft.com/keys/microsoft-2025.asc" \ - "https://packages.microsoft.com/debian/13/prod/" \ - "trixie" -$STD apt install -y aspnetcore-runtime-8.0 +if [[ "$(get_arch_value)" == "arm64" ]]; then + # packages.microsoft.com only ships amd64 debs for Debian; use dotnet-install on arm64 + 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/dotnet8 + ln -sf /usr/lib/dotnet8/dotnet /usr/bin/dotnet + rm -f /tmp/dotnet-install.sh +else + setup_deb822_repo \ + "microsoft" \ + "https://packages.microsoft.com/keys/microsoft-2025.asc" \ + "https://packages.microsoft.com/debian/13/prod/" \ + "trixie" + $STD apt install -y aspnetcore-runtime-8.0 +fi msg_ok "Installed ASP.NET Core Runtime" fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows" diff --git a/install/forgejo-install.sh b/install/forgejo-install.sh index 6f7e02d33..6043077ad 100644 --- a/install/forgejo-install.sh +++ b/install/forgejo-install.sh @@ -19,7 +19,7 @@ $STD apt install -y \ git-lfs msg_ok "Installed Dependencies" -fetch_and_deploy_codeberg_release "forgejo" "forgejo/forgejo" "singlefile" "latest" "/opt/forgejo" "forgejo-*-linux-amd64" +fetch_and_deploy_codeberg_release "forgejo" "forgejo/forgejo" "singlefile" "latest" "/opt/forgejo" "forgejo-*-linux-$(get_arch_value)" ln -sf /opt/forgejo/forgejo /usr/local/bin/forgejo msg_info "Setting up Forgejo" diff --git a/install/frigate-install.sh b/install/frigate-install.sh index 89a1630fa..192cac0bd 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -91,7 +91,7 @@ msg_ok "Installed Dependencies" setup_hwaccel -export TARGETARCH="amd64" +export TARGETARCH="$(get_arch_value)" export CCACHE_DIR=/root/.ccache export CCACHE_MAXSIZE=2G export APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn @@ -122,7 +122,7 @@ msg_info "Building SQLite Extensions" $STD bash /opt/frigate/docker/main/build_sqlite_vec.sh msg_ok "Built SQLite Extensions" -fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/usr/local/go2rtc/bin" "go2rtc_linux_amd64" +fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/usr/local/go2rtc/bin" "go2rtc_linux_$(get_arch_value)" msg_info "Installing Tempio" sed -i 's|/rootfs/usr/local|/usr/local|g' /opt/frigate/docker/main/install_tempio.sh diff --git a/misc/build.func b/misc/build.func index cb0e5409b..be4c6be0d 100644 --- a/misc/build.func +++ b/misc/build.func @@ -5720,9 +5720,37 @@ create_lxc_container() { url="https://jenkins.linuxcontainers.org/job/image-${PCT_OSTYPE}/architecture=arm64,release=${CUSTOM_TEMPLATE_VARIANT},variant=default/lastStableBuild/artifact/rootfs.tar.xz" msg_info "Downloading ${PCT_OSTYPE^} ${CUSTOM_TEMPLATE_VARIANT} ARM64 template" - if ! curl -fsSL -o "$dest" "$url"; then - msg_error "Failed to download ARM64 template from: $url" - exit 208 + local patched="${dest%/*}/.${dest##*/}.patched" + ( + flock -x 200 + if [[ -f "$patched" ]] && [[ -s "$dest" ]] && xz -t "$dest" 2>/dev/null; then + exit 0 + fi + if ! curl -fsSL -o "$dest" "$url"; then + msg_error "Failed to download ARM64 template from: $url" + exit 208 + fi + # Some linuxcontainers.org rootfs builds ship without /etc/network, + # which makes pve-container's post-create hook fail when it writes the + # interfaces file. This appends an empty /etc/network/interfaces if missing. + if ! tar -tJf "$dest" 2>/dev/null | grep -q '/etc/network/$'; then + fixdir=$(mktemp -d) + tmptar="${dest%.xz}" + mkdir -p "$fixdir/etc/network" + : >"$fixdir/etc/network/interfaces" + if xz -d -f "$dest" && tar -C "$fixdir" --append -f "$tmptar" ./etc/network && xz -1 -f "$tmptar"; then + rm -rf "$fixdir" + else + rm -rf "$fixdir" "$tmptar" + msg_error "Failed to patch ARM64 template (missing /etc/network)" + exit 208 + fi + fi + touch "$patched" + ) 200>"${dest}.lock" + local dl_rc=$? + if [[ $dl_rc -ne 0 ]]; then + exit "$dl_rc" fi msg_ok "Downloaded ARM64 LXC template" } diff --git a/misc/core.func b/misc/core.func index c7ba925d4..96bf9c5dd 100644 --- a/misc/core.func +++ b/misc/core.func @@ -370,11 +370,12 @@ arch_check() { get_arch_value() { local amd64_val="${1:-amd64}" local arm64_val="${2:-arm64}" - case "$PCT_ARCH" in - amd64) echo "$amd64_val" ;; - arm64) echo "$arm64_val" ;; + local arch="${PCT_ARCH:-$(dpkg --print-architecture 2>/dev/null || uname -m)}" + case "$arch" in + amd64 | x86_64) echo "$amd64_val" ;; + arm64 | aarch64) echo "$arm64_val" ;; *) - msg_error "Unsupported architecture: $PCT_ARCH" + msg_error "Unsupported architecture: $arch" return 106 ;; esac diff --git a/misc/tools.func b/misc/tools.func index 055eb3ee2..705950667 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -6912,14 +6912,24 @@ setup_mongodb() { export NEEDRESTART_MODE=a export NEEDRESTART_SUSPEND=1 - # Check AVX support - if ! grep -qm1 'avx[^ ]*' /proc/cpuinfo; then - local major="${MONGO_VERSION%%.*}" - if ((major > 5)); then - msg_error "MongoDB ${MONGO_VERSION} requires AVX support, which is not available on this system." + # Check CPU requirements: AVX on x86_64, NEON/ASIMD on arm64 + case "$(uname -m)" in + aarch64) + if ! grep -qm1 'asimd' /proc/cpuinfo; then + msg_error "MongoDB ${MONGO_VERSION} requires ARMv8.2-A support, which is not available on this system." return 236 fi - fi + ;; + *) + if ! grep -qm1 'avx[^ ]*' /proc/cpuinfo; then + local major="${MONGO_VERSION%%.*}" + if ((major > 5)); then + msg_error "MongoDB ${MONGO_VERSION} requires AVX support, which is not available on this system." + return 236 + fi + fi + ;; + esac case "$DISTRO_ID" in ubuntu)