feat: align with upstream 1.5.9.9

This commit is contained in:
2026-09-12 18:21:11 +08:00
commit 34f0679117
805 changed files with 376275 additions and 0 deletions
@@ -0,0 +1,80 @@
From 732c9c672527e90155d8633499ac49a8a25b7a35 Mon Sep 17 00:00:00 2001
From: HenryDu8133 <813367384@qq.com>
Date: Sun, 6 Sep 2026 14:17:05 +0800
Subject: [PATCH 26/58] =?UTF-8?q?fix(ci):=20deploy=20Job=20=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E7=9B=AE=E5=BD=95=E5=8F=AF=E5=86=99=E6=80=A7=E9=A2=84?=
=?UTF-8?q?=E6=A3=80=E6=9F=A5=20+=20docker-compose.override.yml=20heredoc?=
=?UTF-8?q?=20=E5=88=86=E9=9A=94=E7=AC=A6=E6=94=B9=20COMPOSE=5FOVERRIDE=20?=
=?UTF-8?q?=E5=B9=B6=E5=AF=B9=E9=BD=90=E7=BC=A9=E8=BF=9B=EF=BC=88=E7=BB=95?=
=?UTF-8?q?=E5=BC=80=20YAML=20parser=20=E8=AF=AF=E5=88=A4=20+=20=E6=9D=83?=
=?UTF-8?q?=E9=99=90=E9=97=AE=E9=A2=98=E5=8F=8B=E5=A5=BD=E6=8E=92=E6=9F=A5?=
=?UTF-8?q?=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitea/workflows/deploy.yml | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml
index 8a150e2..a16efa4 100644
--- a/.gitea/workflows/deploy.yml
+++ b/.gitea/workflows/deploy.yml
@@ -455,9 +455,27 @@ jobs:
echo "Deploy dir : ${DEPLOY_DIR}"
echo "=============================================="
- mkdir -p "${DEPLOY_DIR}"
+ mkdir -p "${DEPLOY_DIR}" 2>/dev/null || sudo mkdir -p "${DEPLOY_DIR}" 2>/dev/null || true
cd "${DEPLOY_DIR}"
+ # ========== 目录可写性预检查(权限排查友好化) ==========
+ TEST_FILE="${DEPLOY_DIR}/.deploy_writable_test_$$"
+ if ! (touch "${TEST_FILE}" && rm -f "${TEST_FILE}") 2>/dev/null; then
+ echo "================================================================="
+ echo "ERROR:deploy 用户对部署目录 ${DEPLOY_DIR} 没有写权限(Permission denied)"
+ echo "当前用户:$(whoami)"
+ echo "目录归属与权限:"
+ ls -ld "${DEPLOY_DIR}" || true
+ echo ""
+ echo "请在服务器上以 root 身份执行下面 3 行命令修复(复制粘贴):"
+ echo " chown -R deploy:docker '${DEPLOY_DIR}'"
+ echo " chmod 775 '${DEPLOY_DIR}'"
+ echo " setfacl -R -m u:deploy:rwx -m g:docker:rwx -m d:u:deploy:rwx -m d:g:docker:rwx '${DEPLOY_DIR}' 2>/dev/null || true"
+ echo "修复后重新触发此 workflow 即可。"
+ echo "================================================================="
+ exit 3
+ fi
+
if [ -n "${REGISTRY_PULL_TOKEN}" ] && [ -n "${REGISTRY_PULL_USER}" ]; then
echo "使用专用 pull 凭证登录 Gitea Container Registry"
printf '%s' "${REGISTRY_PULL_TOKEN}" \
@@ -471,11 +489,13 @@ jobs:
docker tag "${IMAGE_NEW}" "${IMAGE_LATEST}"
echo "New image pulled and tagged as latest"
- cat > docker-compose.override.yml <<YAML
+ # heredoc 分隔符用 COMPOSE_OVERRIDE,不能用 YAML(外层是 .yml 文件,YAML parser 会冲突)
+ # 注意:heredoc 内容和结束 COMPOSE_OVERRIDE 行必须保持同样的缩进(跟 run block 对齐),否则 YAML parser 会把 services: 当 YAML key 解析
+ cat > docker-compose.override.yml <<'COMPOSE_OVERRIDE'
services:
voicehub:
image: ${IMAGE_NEW}
- YAML
+ COMPOSE_OVERRIDE
echo "docker-compose.override.yml written, image=${IMAGE_NEW}"
if [ ! -f docker-compose.yml ]; then
@@ -492,7 +512,7 @@ jobs:
if [ ! -f .env ]; then
echo "================================================================="
echo "WARNING:${DEPLOY_DIR}/.env 不存在"
- echo "首次部署请在服务器上创建 .env(至少填写 POSTGRES_PASSWORD / JWT_SECRET / NUXT_PUBLIC_SITE_URL)"
+ echo "首次部署请在服务器上创建 .env(至少填写 POSTGRES_PASSWORD / JWT_SECRET / NUXT_PUBLIC_SITE_URL + 5 个 cpus 数字兜底:APP_CPUS/APP_CPUS_LIMIT/APP_CPUS_RESERVATION/PG_CPUS/REDIS_CPUS)"
echo "参考仓库根目录的 .env.example"
echo "================================================================="
fi
--
2.45.1.windows.1