From 5528753d45ed24fa4c82f47f48431cd043e47abc Mon Sep 17 00:00:00 2001 From: JustMe Date: Wed, 7 Oct 2026 19:40:13 +0800 Subject: [PATCH] feat: deploy-node.sh backend takes extra env settings with --env [CI SKIP] --- docs/deployment.md | 2 ++ packaging/container/deploy-node.sh | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/deployment.md b/docs/deployment.md index 5464e71..893a5b3 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -215,6 +215,8 @@ sudo sh deploy-node.sh agent --image-repo registry.oeo.one/moshiro/moshiro-agent sudo sh deploy-node.sh probe --image-repo registry.oeo.one/moshiro/moshiro-probe --server https:// --join --name # Backend(只支持 Podman,更新策略固定为管理端确认;--port 默认 29181,环境文件写在 /etc/moshiro/backend.env,已有的不覆盖) sudo sh deploy-node.sh backend --channel dev --admin-password '<密码>' --public-url https://<面板域名> +# 其他环境变量用 --env 原样写入(只在首次创建 backend.env 时生效):本地开发前端要连这个面板时加 +# --env MoShiro__CorsOrigins=http://localhost:5173,http://localhost:5174 --env MoShiro__SecureCookies=false # 之后更新:不带参数(旧版 Probe 的 probe.json 没有 fleet 段,加上 --server --join --name 重新运行即可,旧文件备份为 probe.json.old) sudo sh deploy-node.sh agent ``` diff --git a/packaging/container/deploy-node.sh b/packaging/container/deploy-node.sh index c70563e..c31817b 100644 --- a/packaging/container/deploy-node.sh +++ b/packaging/container/deploy-node.sh @@ -4,7 +4,7 @@ # # 首次部署 Agent:sudo sh deploy-node.sh agent --image-repo REPO --server https://panel --join jt_xxx --name hk-1 # 首次部署 Probe:sudo sh deploy-node.sh probe --image-repo REPO --server https://panel --join jt_xxx --name home-1 -# 首次部署 Backend:sudo sh deploy-node.sh backend --channel dev --admin-password '…' [--public-url https://panel] [--port 29181] +# 首次部署 Backend:sudo sh deploy-node.sh backend --channel dev --admin-password '…' [--public-url https://panel] [--port 29181] [--env KEY=VALUE]... # 更新(配置迁移、单元和更新器、镜像):sudo sh deploy-node.sh agent (其余参数沿用上次的更新器配置) # 旧版 Probe(probe.json 里没有 fleet 段):加上 --server --join --name 重新运行即可,旧文件备份为 probe.json.old # @@ -16,13 +16,13 @@ set -eu usage() { echo "usage: deploy-node.sh [--engine podman|docker] [--image-repo R] [--tag T] [--image REF]" >&2 echo " [--server URL --join TOKEN --name NAME] [--policy auto|manual] [--authfile F]" >&2 - echo " backend: [--channel dev|release] [--port N] [--admin-user U] [--admin-password P] [--public-url URL]" >&2 + echo " backend: [--channel dev|release] [--port N] [--admin-user U] [--admin-password P] [--public-url URL] [--env KEY=VALUE]..." >&2 exit 2 } ROLE="${1:-}"; shift || true case "$ROLE" in agent|probe|backend) ;; *) usage ;; esac -ENGINE=""; REPO=""; TAG=latest; IMAGE=""; SERVER=""; JOIN=""; NAME=""; POLICY=""; AUTHFILE=""; CHANNEL=""; PORT=""; ADMIN_USER=""; ADMIN_PASSWORD=""; PUBLIC_URL="" +ENGINE=""; REPO=""; TAG=latest; IMAGE=""; SERVER=""; JOIN=""; NAME=""; POLICY=""; AUTHFILE=""; CHANNEL=""; PORT=""; ADMIN_USER=""; ADMIN_PASSWORD=""; PUBLIC_URL=""; EXTRA_ENV="" while [ $# -gt 0 ]; do case "$1" in --engine) ENGINE="$2"; shift 2 ;; @@ -39,6 +39,8 @@ while [ $# -gt 0 ]; do --admin-user) ADMIN_USER="$2"; shift 2 ;; --admin-password) ADMIN_PASSWORD="$2"; shift 2 ;; --public-url) PUBLIC_URL="$2"; shift 2 ;; + --env) EXTRA_ENV="$EXTRA_ENV$2 +"; shift 2 ;; *) usage ;; esac done @@ -117,6 +119,8 @@ if [ "$ROLE" = backend ]; then echo "MoShiro__InitialAdminUser=${ADMIN_USER:-admin}" echo "MoShiro__InitialAdminPassword=$ADMIN_PASSWORD" [ -z "$PUBLIC_URL" ] || echo "MoShiro__PublicUrl=$PUBLIC_URL" + # 其他设置原样写入,例如 --env MoShiro__CorsOrigins=http://localhost:5173 --env MoShiro__SecureCookies=false + [ -z "$EXTRA_ENV" ] || printf '%s' "$EXTRA_ENV" } > /etc/moshiro/backend.env ) echo "config: created /etc/moshiro/backend.env"