From 92c6662abf13b290ea7d3bdf229fb2a9389fb763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sun, 30 Mar 2025 17:15:59 +0200 Subject: [PATCH] GoMFT: Add frontend build procedure (#3499) --- ct/gomft.sh | 15 ++++++++++++--- install/gomft-install.sh | 17 ++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/ct/gomft.sh b/ct/gomft.sh index 0e05205b9..4a6ccb527 100644 --- a/ct/gomft.sh +++ b/ct/gomft.sh @@ -32,7 +32,13 @@ function update_script() { if ! dpkg -l | grep -q "^ii.*build-essential"; then $STD apt-get install -y build-essential fi - + if [[ ! -f "/usr/bin/node" ]]; then + mkdir -p /etc/apt/keyrings + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list + $STD apt-get update + $STD apt-get install -y nodejs + fi if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop gomft @@ -45,8 +51,11 @@ function update_script() { tar -xzf $temp_file cp -rf GoMFT-v.${RELEASE}/* /opt/gomft cd /opt/gomft + rm -f /opt/gomft/node_modules + $STD npm ci + $STD node build.js $STD go mod download - $STD go install github.com/a-h/templ/cmd/templ@latest + $STD go get -u github.com/a-h/templ $STD $HOME/go/bin/templ generate export CGO_ENABLED=1 export GOOS=linux @@ -57,7 +66,7 @@ function update_script() { msg_info "Cleaning Up" rm -f $temp_file - rm -rf GoMFT-${RELEASE} + rm -rf $HOME/GoMFT-v.${RELEASE} msg_ok "Cleanup Complete" msg_info "Starting $APP" diff --git a/install/gomft-install.sh b/install/gomft-install.sh index 6a130e134..68f620df5 100644 --- a/install/gomft-install.sh +++ b/install/gomft-install.sh @@ -19,7 +19,8 @@ $STD apt-get install -y \ rclone \ tzdata \ ca-certificates \ - build-essential + build-essential \ + gnupg msg_ok "Installed Dependencies" msg_info "Setting up Golang" @@ -32,6 +33,17 @@ ln -sf /usr/local/go/bin/go /usr/local/bin/go set -o pipefail msg_ok "Setup Golang" +msg_info "Setting up Node.js Repository" +mkdir -p /etc/apt/keyrings +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +msg_ok "Set up Node.js Repository" + +msg_info "Installing Node.js" +$STD apt-get update +$STD apt-get install -y nodejs +msg_ok "Installed Node.js" + msg_info "Setup ${APPLICATION} (Patience)" temp_file=$(mktemp) RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') @@ -39,8 +51,11 @@ curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE tar -xzf $temp_file mv GoMFT-v.${RELEASE}/ /opt/gomft cd /opt/gomft +$STD npm ci +$STD node build.js $STD go mod download $STD go install github.com/a-h/templ/cmd/templ@latest +$STD go get -u github.com/a-h/templ $STD $HOME/go/bin/templ generate export CGO_ENABLED=1 export GOOS=linux