chore(deploy): dev-up.sh 兼容无 compose 插件的 Docker,回退 docker run 拉起 cyrene-pg
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled

本机 Docker 29.1.3 无 compose 插件(docker compose unknown command / docker-compose 未装),
原脚本每次启动都因 docker compose up 报错而被忽略继续掩盖。改为:
  - PG 已在跑 -> 跳过
  - 有 compose 插件 -> compose
  - 否则回退 docker run 拉起 cyrene-pg
README §3 同步补注该回退行为。脚本幂等,bash -n 通过。
This commit is contained in:
Aska committed 2026-09-06 12:15:53 +08:00
1 parent 0c93bb4497
commit 13c7c52860
2 files changed
+19 -2

No files matched your search

+2 -1
View File
@@ -58,7 +58,8 @@ EMBEDDING_MODEL=Qwen3-Embedding-0.6B
docker compose -f docker-compose.dev.yml up -d pg
# 首次:vector 扩展由应用自动 CREATE(本地 cyrene 用户为 superuser)
```
> 不用 PG 可跳过;SQLite 默认即用。
> 不用 PG 可跳过;SQLite 默认即用。若 Docker 未安装 compose 插件(部分精简版 29.x 只有 `docker run`),
> `scripts/dev-up.sh` 会自动回退 `docker run` 拉起 `cyrene-pg`,无需手动处理。
### 4. 本地 embedding(llama.cpp + Qwen3 GGUF,走 Vulkan/GPU)
```bash
+17 -1
View File
@@ -16,7 +16,23 @@ cd "$REPO"
echo "==> [1/4] PostgreSQL + pgvector (docker)"
if command -v docker >/dev/null 2>&1; then
docker compose -f docker-compose.dev.yml up -d pg || echo " (docker compose up pg 失败,忽略继续——若未用 PG 可跳过)"
# PG 已在跑则跳过
if curl -s --max-time 2 "http://127.0.0.1:5432" >/dev/null 2>&1 || docker ps --format '{{.Names}}' 2>/dev/null | grep -q '^cyrene-pg$'; then
echo " cyrene-pg 已在运行 (:5432),跳过"
else
# 有 compose 插件用 compose,否则回退 docker run
if docker compose version >/dev/null 2>&1; then
docker compose -f docker-compose.dev.yml up -d pg
else
echo " (docker compose 插件不可用,回退 docker run 拉起 cyrene-pg)"
docker run -d --name cyrene-pg \
-e POSTGRES_USER=cyrene -e POSTGRES_PASSWORD=cyrene_pass -e POSTGRES_DB=cyrene_ai \
-p 5432:5432 -v cyrene_pgdata:/var/lib/postgresql/data \
pgvector/pgvector:pg16 >/dev/null 2>&1 \
&& echo " cyrene-pg 已用 docker run 启动" \
|| echo " (cyrene-pg 启动失败,请手动检查端口/镜像)"
fi
fi
else
echo " (未检测到 docker;若用 SQLite 默认可不启动 PG)"
fi