feat(install): 零输入一条命令部署 + 双架构发布包
- 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:
1 parent
437ff56992
commit
0936234623
6 files changed
+98
-26
No files matched your search
@@ -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..."
|
||||
|
||||
Reference in new issue
Block a user