From 4f68fdc28eae005d6c00fe2dae93a77d1d538d62 Mon Sep 17 00:00:00 2001 From: yarnom Date: Tue, 14 Oct 2025 12:32:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/install.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 scripts/install.sh diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100644 index 0000000..e967693 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Simple installer: build binaries to PREFIX/bin, then replace templates/ and static/ +# Usage: scripts/install.sh [PREFIX] + +PREFIX=${1:-/opt/weatherstation} +ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) + +echo "=> Install prefix: $PREFIX" +mkdir -p "$PREFIX/bin" + +# Build binaries +echo "=> Building services" +GO111MODULE=on go build -o "$PREFIX/bin/service-api" "$ROOT_DIR/cmd/service-api" +GO111MODULE=on go build -o "$PREFIX/bin/service-forecast" "$ROOT_DIR/cmd/service-forecast" +GO111MODULE=on go build -o "$PREFIX/bin/service-fusion" "$ROOT_DIR/cmd/service-fusion" +GO111MODULE=on go build -o "$PREFIX/bin/service-radar" "$ROOT_DIR/cmd/service-radar" +GO111MODULE=on go build -o "$PREFIX/bin/service-exporter" "$ROOT_DIR/cmd/service-exporter" +GO111MODULE=on go build -o "$PREFIX/bin/service-udp" "$ROOT_DIR/cmd/service-udp" + +# Replace assets +echo "=> Replacing templates/ and static/" +rm -rf "$PREFIX/templates" "$PREFIX/static" +mkdir -p "$PREFIX/templates" "$PREFIX/static" +cp -r "$ROOT_DIR/templates/." "$PREFIX/templates/" +cp -r "$ROOT_DIR/static/." "$PREFIX/static/" + +# Optional UI bundle +if [[ -d "$ROOT_DIR/core/frontend/dist/ui" ]]; then + echo "=> Updating UI bundle" + rm -rf "$PREFIX/core/frontend/dist/ui" + mkdir -p "$PREFIX/core/frontend/dist/ui" + cp -r "$ROOT_DIR/core/frontend/dist/ui/." "$PREFIX/core/frontend/dist/ui/" +fi + +echo "=> Done"