From fbe84c8b16a51cdd4931ecf0b1e0fa8654edec6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Fri, 8 May 2026 15:55:53 +0900 Subject: [PATCH] Handle armhf Node.js installation on Raspberry Pi --- deploy/raspberry/bootstrap.sh | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/deploy/raspberry/bootstrap.sh b/deploy/raspberry/bootstrap.sh index fc6f048..5378c9c 100644 --- a/deploy/raspberry/bootstrap.sh +++ b/deploy/raspberry/bootstrap.sh @@ -13,19 +13,35 @@ if [[ "${EUID}" -eq 0 ]]; then exit 1 fi +ARCH="$(dpkg --print-architecture)" + +log "Detected architecture: ${ARCH}" log "Updating system packages" sudo apt update sudo apt upgrade -y log "Installing base packages" -sudo apt install -y git curl sqlite3 ufw fail2ban wireguard rsync ca-certificates gnupg +sudo apt install -y git curl sqlite3 ufw fail2ban wireguard rsync ca-certificates gnupg build-essential python3 make g++ -if ! command -v node >/dev/null 2>&1 || ! node -v | grep -q "^v${NODE_MAJOR}\."; then - log "Installing Node.js ${NODE_MAJOR}.x" +install_node_from_debian_repo() { + log "Installing Node.js from Raspberry Pi/Debian repository for ${ARCH}" + sudo apt install -y nodejs npm +} + +install_node_from_nodesource() { + log "Installing Node.js ${NODE_MAJOR}.x from NodeSource for ${ARCH}" curl -fsSL "https://deb.nodesource.com/setup_${NODE_MAJOR}.x" | sudo -E bash - sudo apt install -y nodejs +} + +if ! command -v node >/dev/null 2>&1; then + if [[ "${ARCH}" == "armhf" ]]; then + install_node_from_debian_repo + else + install_node_from_nodesource + fi else - log "Node.js ${NODE_MAJOR}.x already installed" + log "Node.js already installed: $(node -v)" fi log "Node version: $(node -v)"