From 66c96fd331ab4a0e720055e649752c28ff8a4233 Mon Sep 17 00:00:00 2001 From: liuyh Date: Wed, 18 Mar 2026 14:31:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=91=E5=BC=80=E5=8F=91=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E7=AC=A6=E5=8F=B7=E9=93=BE=E6=8E=A5=E5=92=8C?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E5=8D=B7=E5=AE=9E=E7=8E=B0=E9=9B=B6=E7=A2=8E?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=8C=81=E4=B9=85=E5=8C=96=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .cloud-dev/docker-compose.yml | 8 ++++++++ .cloud-dev/entrypoint.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/.cloud-dev/docker-compose.yml b/.cloud-dev/docker-compose.yml index 541448d..1c820f8 100644 --- a/.cloud-dev/docker-compose.yml +++ b/.cloud-dev/docker-compose.yml @@ -23,6 +23,8 @@ services: - claude-code-router:/root/.claude-code-router # SSH 配置 - ssh:/root/.ssh + # 零碎文件持久化 + - persist:/root/.hair-keeper-persist environment: - NODE_ENV=development - TZ=Asia/Shanghai @@ -40,6 +42,12 @@ services: memory: 4G volumes: + code-server-config: + code-server-data: + claude: + claude-code-router: + ssh: + persist: # node_modules 卷,避免主机和容器之间的文件系统差异 node_modules: # pnpm store 卷,加速依赖安装 diff --git a/.cloud-dev/entrypoint.sh b/.cloud-dev/entrypoint.sh index de523b4..a329809 100644 --- a/.cloud-dev/entrypoint.sh +++ b/.cloud-dev/entrypoint.sh @@ -1,5 +1,33 @@ #!/bin/bash +# ============================================ +# 文件持久化:通过符号链接将零碎文件持久化到命名卷 +# ============================================ +PERSIST_DIR="/root/.hair-keeper-persist" +PERSIST_FILES=( + "/root/.claude.json" + "/root/.zsh_history" + "/root/.bash_history" +) + +mkdir -p "$PERSIST_DIR" + +for filepath in "${PERSIST_FILES[@]}"; do + filename=$(basename "$filepath") + persist_path="$PERSIST_DIR/$filename" + + # 如果原路径是真实文件(非符号链接),迁移到持久化目录 + if [ -f "$filepath" ] && [ ! -L "$filepath" ]; then + mv "$filepath" "$persist_path" + fi + + # 确保持久化目录中存在该文件 + [ -f "$persist_path" ] || touch "$persist_path" + + # 创建符号链接 + ln -sf "$persist_path" "$filepath" +done + # 设置默认密码 DEV_PASSWORD=${DEV_PASSWORD:-clouddev}