feat(install): 零输入一条命令部署 + 双架构发布包
CI / Backend (go vet + test) (push) Canceled after 0s
CI / Frontend (lint + build + test) (push) Canceled after 0s

- docker compose up -d 直接启动:entrypoint 在未显式提供密钥时自动生成随机
  JWT_SECRET/ENCRYPTION_KEY 并持久化到数据卷 .secrets.env(0600,重启不变),
  显式环境变量优先(单显式不被持久化文件覆盖,四场景实测);compose 去掉 :? 强制
- build.sh --dist / make dist:linux amd64 + arm64 两个 tar.gz(二进制+docs+homepage+README),
  实测 15M/13M;安装文档重写为三方式(kubernetes/install.sh 一键、compose 一条命令、release 包)
- README 快速开始同步
This commit is contained in:
opsx committed 2026-10-29 15:50:50 +08:00
1 parent 437ff56992
commit 0936234623
6 files changed
+98 -26

No files matched your search

+29
View File
@@ -15,6 +15,33 @@
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# ---- 可选:dist 双架构发布包(linux amd64 + arm64):bash build.sh --dist ----
if [ "${1:-}" = "--dist" ]; then
GO_CMD="go"
BUILD_TIME="$(date -u '+%Y-%m-%d_%H:%M:%S')"
GIT_COMMIT="$(git -C "$SCRIPT_DIR" rev-parse --short HEAD 2>/dev/null || echo unknown)"
APP_VERSION="${APP_VERSION:-dev}"
DIST_DIR="dist"
cd "$SCRIPT_DIR"
rm -rf "$DIST_DIR" && mkdir -p "$DIST_DIR"
for ARCH in amd64 arm64; do
NAME="lokistack-linux-${ARCH}"
echo "==> Building ${NAME}..."
rm -rf "/tmp/${NAME}" && mkdir -p "/tmp/${NAME}"
(cd "$SCRIPT_DIR/backend" && CGO_ENABLED=0 GOOS=linux GOARCH=$ARCH $GO_CMD build -trimpath \
-ldflags="-s -w -X main.version=${APP_VERSION:-dev} -X main.buildTime=${BUILD_TIME} -X main.gitCommit=${GIT_COMMIT}" \
-o "/tmp/${NAME}/lokistack" .)
cp -r docs "/tmp/${NAME}/docs"
cp -r homepage "/tmp/${NAME}/homepage"
cp README.md "/tmp/${NAME}/README.md"
tar -czf "${DIST_DIR}/${NAME}.tar.gz" -C /tmp "${NAME}"
echo " ${DIST_DIR}/${NAME}.tar.gz ($(du -h ${DIST_DIR}/${NAME}.tar.gz | cut -f1))"
done
echo "==> dist 完成: ${DIST_DIR}/lokistack-linux-{amd64,arm64}.tar.gz"
exit 0
fi
echo "========================================"
echo " lokistack Build Script"
echo " Security-hardened build pipeline"
@@ -113,6 +140,8 @@ echo " Binary size: $(du -h bin/lokistack | cut -f1)"
echo " Build time: $BUILD_TIME"
echo " Git commit: $GIT_COMMIT"
# ---- 3. Copy dist to backend for embedded serving ----
echo ""
echo "[3/3] Packaging..."