From c7e9cb8fa94cc1cb2e7764bd2c2696e1718d00d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Thu, 21 May 2026 14:47:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20docker.sock=20=E6=8C=82=E8=BD=BD=20+=20?= =?UTF-8?q?PRIVATE=5FDEPLOY=5FROOT=20=E6=94=AF=E6=8C=81=E4=B8=80=E9=94=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-compose.yml:tenant-service 挂载 /var/run/docker.sock 和部署根目录 - deploy.sh:写入 PRIVATE_DEPLOY_ROOT 到 .env - update.sh:旧版升级时自动补齐 PRIVATE_DEPLOY_ROOT - .env.example:新增 PRIVATE_DEPLOY_ROOT 注释说明 Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 4 +++- docker-compose.yml | 5 +++++ scripts/deploy.sh | 3 ++- scripts/update.sh | 6 ++++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index e837041..8bf193f 100644 --- a/.env.example +++ b/.env.example @@ -13,7 +13,9 @@ # 当前部署版本号,格式:YYYY.MM.DD-private.N # 用于镜像标签匹配和审计追溯 -PRIVATE_VERSION=2026.05.18-private.1 +PRIVATE_VERSION=2026.05.21-private.2 +# 安装目录的绝对路径(deploy.sh 自动写入,用于容器内一键更新功能) +PRIVATE_DEPLOY_ROOT=/opt/xuqm-private # ============================================================================= # 镜像仓库 diff --git a/docker-compose.yml b/docker-compose.yml index 056d4da..5c06462 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,6 +32,11 @@ services: SPRING_DATA_REDIS_HOST: "${REDIS_HOST}" SPRING_DATA_REDIS_PORT: "${REDIS_PORT:-6379}" SPRING_DATA_REDIS_DATABASE: "${REDIS_DATABASE:-0}" + # 一键更新功能所需:部署根目录(容器内与宿主机路径相同) + PRIVATE_DEPLOY_ROOT: "${PRIVATE_DEPLOY_ROOT:-/opt/xuqm-private}" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ${PRIVATE_DEPLOY_ROOT:-/opt/xuqm-private}:${PRIVATE_DEPLOY_ROOT:-/opt/xuqm-private}:ro restart: unless-stopped # --------------------------------------------------------------------------- diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 6ca2798..d0be626 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -266,7 +266,8 @@ cat > "$ROOT_DIR/.env" </de fi [ "$_patched" -eq 1 ] && ok "secrets.env 已补齐 SPRING_DATASOURCE_PASSWORD / SPRING_DATA_REDIS_PASSWORD" +# 迁移:补齐 PRIVATE_DEPLOY_ROOT(一键更新功能需要此变量,旧版部署升级时自动写入) +if ! grep -q "^PRIVATE_DEPLOY_ROOT=" "$ROOT_DIR/.env" 2>/dev/null; then + printf '\nPRIVATE_DEPLOY_ROOT=%s\n' "$ROOT_DIR" >> "$ROOT_DIR/.env" + ok ".env 已补齐 PRIVATE_DEPLOY_ROOT=$ROOT_DIR" +fi + _CONSOLE_DOMAIN="$(grep '^CONSOLE_DOMAIN=' "$ROOT_DIR/config/xuqm.env" 2>/dev/null \ | cut -d= -f2- | tr -d '"' | tr -d "'")" _NGINX_BIND="${NGINX_BIND:-80}"