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 e61c7f2da..0da4c09c0 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..795ac2240 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:-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..a132e9248 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}/$(arch_resolve "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..9e331dce0 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:-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..0f765e2f8 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:-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..909d75dc5 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-$(arch_resolve).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..0ee3d4f8b 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-$(arch_resolve "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..ee83fac3f 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=$(arch_resolve "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-$(arch_resolve).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..8df6f2104 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-$(arch_resolve)" -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..136a21c1e 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_$(arch_resolve).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 11798160e..92eb11a70 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 f0094c30c..45ae5aaf9 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 c54c8da6b..3147fc91f 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" @@ -38,7 +38,7 @@ function update_script() { create_backup /opt/anytype/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_$(arch_resolve).tar.gz" chmod +x /opt/anytype/any-sync-bundle restore_backup diff --git a/ct/apache-tika.sh b/ct/apache-tika.sh index 4bd48b5d5..d4dbe8647 100755 --- 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 734fe1bde..0b605c6b5 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..94141b56a 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-$(arch_resolve)" 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 ab9451596..b857bcff4 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-$(arch_resolve) gcc-$(arch_resolve "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="$(arch_resolve "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..25b75798e 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_$(arch_resolve "x86_64" "arm64").tar.gz" msg_info "Starting Service" systemctl start autobrr diff --git a/ct/backrest.sh b/ct/backrest.sh index c475ae755..519ca215d 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_$(arch_resolve "x86_64" "arm64").tar.gz" msg_info "Starting Service" systemctl start backrest diff --git a/ct/bambuddy.sh b/ct/bambuddy.sh index 8f19a1015..470cd2055 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 index 45d2506f5..dddd27d9e 100755 --- 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 072a71db9..c4123cbcb 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 94bcf71a7..55888aa28 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" @@ -68,16 +68,16 @@ function update_script() { create_backup /opt/bichon/bichon.env if [ "$MIGRATE_V1" -eq 1 ] && [ "$CURRENT_VERSION" != "0.3.7" ]; then - 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" - restore_backup 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-*-$(arch_resolve "x86_64" "aarch64")-unknown-linux-gnu.tar.gz" + restore_backup systemctl start bichon sleep 30 systemctl stop bichon 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-*-$(arch_resolve "x86_64" "aarch64")-unknown-linux-gnu.tar.gz" restore_backup if [ "$MIGRATE_V1" -eq 1 ]; then @@ -133,4 +133,4 @@ description msg_ok "Completed successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW}Access it using the following URL:${CL}" -echo -e "${GATEWAY}${BGN}http://${IP}:15630${CL}" +echo -e "${GATEWAY}${BGN}http://${IP}:15630${CL}" \ No newline at end of file diff --git a/ct/birdnet-go.sh b/ct/birdnet-go.sh index 7c491a884..39db9ca1f 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-$(arch_resolve).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 b26890622..be0a01391 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" @@ -34,7 +34,7 @@ function update_script() { msg_ok "Stopped Service" create_backup /opt/blocky/config.yml - 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_$(arch_resolve "x86_64" "arm64").tar.gz" restore_backup msg_info "Starting Service" @@ -52,4 +52,4 @@ description msg_ok "Completed successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW}Access it using the following URL:${CL}" -echo -e "${GATEWAY}${BGN}http://${IP}${CL}" +echo -e "${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh index 3c8568d06..1138d1727 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 bb321aa20..24e948cca 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" @@ -37,7 +37,7 @@ function update_script() { create_backup /opt/certimate/pb_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_$(arch_resolve).zip" restore_backup diff --git a/ct/cleanuparr.sh b/ct/cleanuparr.sh index f554e2048..f463e039c 100755 --- 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" @@ -35,7 +35,7 @@ function update_script() { create_backup /opt/cleanuparr/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-$(arch_resolve).zip" restore_backup 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..cffa0fc17 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_$(arch_resolve "amd64" "aarch64").tar.gz" msg_info "Starting CLIProxyAPI" systemctl start cliproxyapi diff --git a/ct/cloudreve.sh b/ct/cloudreve.sh index 62a1cab82..1492e9530 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_$(arch_resolve).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 d8fdcfb32..636e3d8a8 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 d2b010d91..f1a2ecd31 100644 --- a/ct/coredns.sh +++ b/ct/coredns.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" 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 b783fbea2..2c31aee82 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 10dd3f067..42b2af198 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" @@ -37,7 +37,7 @@ function update_script() { create_backup /opt/dagu/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_$(arch_resolve).tar.gz" restore_backup diff --git a/ct/dashy.sh b/ct/dashy.sh index 8d3e53402..4a5488256 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 88f4fb643..e07104331 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" @@ -45,7 +45,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=$(arch_resolve "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 @@ -74,7 +77,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=$(arch_resolve) 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 c34de77e1..9e4c64bfe 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 c5d6851aa..9e5a3f6bf 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" @@ -35,7 +35,7 @@ function update_script() { create_backup /opt/ddns-updater/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_$(arch_resolve)" restore_backup 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 9521b2279..25a497d11 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" @@ -39,8 +39,8 @@ function update_script() { create_backup /opt/discopanel/data/discopanel.db - 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-$(arch_resolve).tar.gz" + ln -sf /opt/discopanel/discopanel-linux-$(arch_resolve) /opt/discopanel/discopanel restore_backup diff --git a/ct/docuseal.sh b/ct/docuseal.sh index ee2c6478f..bbed854bc 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 d1b8771a4..7943886f6 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" @@ -38,7 +38,7 @@ function update_script() { create_backup /opt/donetick/config/selfhosted.yaml \ /opt/donetick/donetick.db - 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_$(arch_resolve "x86_64" "arm64").tar.gz" restore_backup grep -q 'http://localhost"$' /opt/donetick/config/selfhosted.yaml || sed -i '/https:\/\/localhost"$/a\ - "http://localhost"' /opt/donetick/config/selfhosted.yaml 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 19d14fda6..9af9a77bf 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" @@ -39,7 +39,7 @@ function update_script() { /opt/dynacat/assets \ /opt/dynacat/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-$(arch_resolve).tar.gz" restore_backup chmod +x /opt/dynacat/dynacat diff --git a/ct/ebusd.sh b/ct/ebusd.sh index 29cdff3f9..5dec97455 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-*_$(arch_resolve)-trixie_mqtt1.deb" msg_info "Starting Services" systemctl start ebusd diff --git a/ct/emqx.sh b/ct/emqx.sh index 1b260e5a2..189e76ced 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-$(arch_resolve).deb" + curl -fsSL -o "$DEB_FILE" "https://www.emqx.com/en/downloads/enterprise/v${RELEASE}/emqx-enterprise-${RELEASE}-debian12-$(arch_resolve).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..876760b59 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-$(arch_resolve "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" "*-$(arch_resolve "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..4035142d8 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-$(arch_resolve).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..19c10aad6 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-$(arch_resolve)" 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..37c80e318 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_$(arch_resolve).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..c91fbc067 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=$(arch_resolve "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_$(arch_resolve "Linux64" "LinuxARM64")*.zip chmod +x ./Agent echo $RELEASE >~/.agentdvr -rm -rf Agent_Linux64*.zip +rm -rf Agent_$(arch_resolve "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..d1446bfcb 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_$(arch_resolve).tar.gz \ +"https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_$(arch_resolve).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_$(arch_resolve).tar.gz -C /opt +$STD rm /tmp/AdGuardHome_linux_$(arch_resolve).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..a827671c2 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-$(arch_resolve "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..461617e95 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}/$(arch_resolve "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..bff112d6c 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-$(arch_resolve).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..efa24ae89 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-$(arch_resolve "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..58ded10b9 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=$(arch_resolve "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-$(arch_resolve).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..e9d26a1fa 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-$(arch_resolve)" -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..10a38b742 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_$(arch_resolve).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..8c36f0288 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_$(arch_resolve).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..73b2bc169 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-$(arch_resolve) 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..06ab10a78 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-$(arch_resolve)" msg_info "Setup Argus Config" cat </opt/argus/config.yml diff --git a/install/authentik-install.sh b/install/authentik-install.sh index 23a1adc17..13e4fbe3d 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-$(arch_resolve) \ + gcc-$(arch_resolve "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="$(arch_resolve "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..41d8a8e00 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_$(arch_resolve "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..8b5af83ef 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-$(arch_resolve "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-*-$(arch_resolve "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..91155ab2b 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_$(arch_resolve "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..5bbed170c 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_$(arch_resolve).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..0345e7302 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-*-$(arch_resolve "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..b3dfcab8e 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-$(arch_resolve).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..fbf05cd98 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=$(arch_resolve "x64" "arm64") +PACKAGE_JSON=$(echo "$RELEASE_JSON" | jq -c \ + --arg target "linux-$(arch_resolve "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..0e28f89f1 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_$(arch_resolve "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..a81ac8392 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_$(arch_resolve).zip" msg_info "Creating Service" cat <<'EOF' >/etc/systemd/system/certimate.service diff --git a/install/cleanuparr-install.sh b/install/cleanuparr-install.sh index ff83f0a0e..0277f7a0b 100755 --- 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-$(arch_resolve).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..a13a5b213 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_$(arch_resolve "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..0e9fe84c1 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_$(arch_resolve).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..982250834 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 +[[ "$(arch_resolve)" == "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..704626d58 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-$(arch_resolve "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..04e75422a 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-*-$(arch_resolve).zip" msg_info "Setting up Cosmos" cd /opt/cosmos diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index d9223590f..935c5870b 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 -$STD update-alternatives --set java /usr/lib/jvm/temurin-25-jre-amd64/bin/java +$STD update-alternatives --set java /usr/lib/jvm/temurin-25-jre-$(arch_resolve)/bin/java msg_ok "Installed TemurinJDK" msg_info "Setup Python3" @@ -52,7 +52,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-$(arch_resolve)/bin:/opt/crafty-controller/crafty/.venv/bin:$PATH ExecStart=/opt/crafty-controller/crafty/.venv/bin/python3 main.py -d Restart=on-failure @@ -75,4 +75,4 @@ fi msg_ok "Service started" motd_ssh customize -cleanup_lxc +cleanup_lxc \ No newline at end of file diff --git a/install/dagu-install.sh b/install/dagu-install.sh index 898b8a0a9..e3e2ba0f9 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_$(arch_resolve).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..c9808d3e2 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}-$(arch_resolve "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=$(arch_resolve) 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..675193f9f 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_$(arch_resolve)" 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..7be1c7bc7 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="$(arch_resolve "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[^\"]*$(arch_resolve)\.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..199b84d6e 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-$(arch_resolve).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-$(arch_resolve) Restart=always [Install] diff --git a/install/donetick-install.sh b/install/donetick-install.sh index 128afa289..1c800bee5 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_$(arch_resolve "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..ab6d1a7fd 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-$(arch_resolve "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..16ef757ae 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-$(arch_resolve).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..fd8d776e5 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-*_$(arch_resolve)-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..d08a6d6a1 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-$(arch_resolve).deb" +DEB_FILE="/tmp/emqx-enterprise-${LATEST_VERSION}-debian12-$(arch_resolve).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..5e1b60cb1 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_$(arch_resolve).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..2238a3f83 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-$(arch_resolve "x64" "arm64").tar.gz" +fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-$(arch_resolve "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..f34ecbdc4 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-$(arch_resolve).tar.gz" create_self_signed_cert msg_info "Configuring ezBookkeeping" diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index b7b2aceef..af93424b6 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 [[ "$(arch_resolve)" == "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..38fa16813 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-$(arch_resolve)" 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..c4113ebaf 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="$(arch_resolve)" 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_$(arch_resolve)" 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 8ebda5cbc..b90c89901 100644 --- a/misc/build.func +++ b/misc/build.func @@ -3904,6 +3904,7 @@ build_container() { export ENABLE_TUN="$ENABLE_TUN" export PCT_OSTYPE="$var_os" export PCT_OSVERSION="$var_version" + export PCT_ARCH="$(dpkg --print-architecture 2>/dev/null || uname -m)" export PCT_DISK_SIZE="$DISK_SIZE" export IPV6_METHOD="$IPV6_METHOD" export ENABLE_GPU="$ENABLE_GPU" @@ -5800,9 +5801,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 00cbf2e89..6e9e590e0 100644 --- a/misc/core.func +++ b/misc/core.func @@ -360,6 +360,27 @@ arch_check() { fi } +# ------------------------------------------------------------------------------ +# arch_resolve() +# +# - Selects an architecture-specific value while preserving amd64 defaults +# - Usage: arch_resolve "amd64-value" "arm64-value" +# - Defaults: amd64="amd64", arm64="arm64" +# ------------------------------------------------------------------------------ +arch_resolve() { + local amd64_val="${1:-amd64}" + local arm64_val="${2:-arm64}" + 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: $arch" + return 106 + ;; + esac +} + # ------------------------------------------------------------------------------ # ssh_check() # diff --git a/misc/tools.func b/misc/tools.func index 7bc14e104..6a0c3ed88 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -6920,14 +6920,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)