GoMFT: Add frontend build procedure (#3499)
This commit is contained in:
		
							parent
							
								
									453210900d
								
							
						
					
					
						commit
						92c6662abf
					
				
							
								
								
									
										15
									
								
								ct/gomft.sh
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								ct/gomft.sh
									
									
									
									
									
								
							| @ -32,7 +32,13 @@ function update_script() { | |||||||
|   if ! dpkg -l | grep -q "^ii.*build-essential"; then |   if ! dpkg -l | grep -q "^ii.*build-essential"; then | ||||||
|     $STD apt-get install -y build-essential |     $STD apt-get install -y build-essential | ||||||
|   fi |   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 |   if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then | ||||||
|     msg_info "Stopping $APP" |     msg_info "Stopping $APP" | ||||||
|     systemctl stop gomft |     systemctl stop gomft | ||||||
| @ -45,8 +51,11 @@ function update_script() { | |||||||
|     tar -xzf $temp_file |     tar -xzf $temp_file | ||||||
|     cp -rf GoMFT-v.${RELEASE}/* /opt/gomft |     cp -rf GoMFT-v.${RELEASE}/* /opt/gomft | ||||||
|     cd /opt/gomft |     cd /opt/gomft | ||||||
|  |     rm -f /opt/gomft/node_modules | ||||||
|  |     $STD npm ci | ||||||
|  |     $STD node build.js | ||||||
|     $STD go mod download |     $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 |     $STD $HOME/go/bin/templ generate | ||||||
|     export CGO_ENABLED=1 |     export CGO_ENABLED=1 | ||||||
|     export GOOS=linux |     export GOOS=linux | ||||||
| @ -57,7 +66,7 @@ function update_script() { | |||||||
| 
 | 
 | ||||||
|     msg_info "Cleaning Up" |     msg_info "Cleaning Up" | ||||||
|     rm -f $temp_file |     rm -f $temp_file | ||||||
|     rm -rf GoMFT-${RELEASE} |     rm -rf $HOME/GoMFT-v.${RELEASE} | ||||||
|     msg_ok "Cleanup Complete" |     msg_ok "Cleanup Complete" | ||||||
| 
 | 
 | ||||||
|     msg_info "Starting $APP" |     msg_info "Starting $APP" | ||||||
|  | |||||||
| @ -19,7 +19,8 @@ $STD apt-get install -y \ | |||||||
|   rclone \ |   rclone \ | ||||||
|   tzdata \ |   tzdata \ | ||||||
|   ca-certificates \ |   ca-certificates \ | ||||||
|   build-essential |   build-essential \ | ||||||
|  |   gnupg | ||||||
| msg_ok "Installed Dependencies" | msg_ok "Installed Dependencies" | ||||||
| 
 | 
 | ||||||
| msg_info "Setting up Golang" | msg_info "Setting up Golang" | ||||||
| @ -32,6 +33,17 @@ ln -sf /usr/local/go/bin/go /usr/local/bin/go | |||||||
| set -o pipefail | set -o pipefail | ||||||
| msg_ok "Setup Golang" | 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)" | msg_info "Setup ${APPLICATION} (Patience)" | ||||||
| temp_file=$(mktemp) | 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) }') | 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 | tar -xzf $temp_file | ||||||
| mv GoMFT-v.${RELEASE}/ /opt/gomft | mv GoMFT-v.${RELEASE}/ /opt/gomft | ||||||
| cd /opt/gomft | cd /opt/gomft | ||||||
|  | $STD npm ci | ||||||
|  | $STD node build.js | ||||||
| $STD go mod download | $STD go mod download | ||||||
| $STD go install github.com/a-h/templ/cmd/templ@latest | $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 | $STD $HOME/go/bin/templ generate | ||||||
| export CGO_ENABLED=1 | export CGO_ENABLED=1 | ||||||
| export GOOS=linux | export GOOS=linux | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Slaviša Arežina
						Slaviša Arežina