feat: 新增安装脚本

This commit is contained in:
yarnom 2025-10-14 12:32:42 +08:00
parent cfa69d4469
commit 4f68fdc28e

37
scripts/install.sh Normal file
View File

@ -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"