ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

HolyClaude数据持久化详解:让Claude记忆、代码与凭证在容器重建后完美存活

HolyClaude数据持久化详解:让Claude记忆、代码与凭证在容器重建后完美存活 HolyClaude数据持久化详解让Claude记忆、代码与凭证在容器重建后完美存活【免费下载链接】HolyClaudeAI coding workstation: Claude Code web UI 8 AI CLIs headless browser 50 tools项目地址: https://gitcode.com/gh_mirrors/ho/HolyClaudeHolyClaude 数据持久化是这套 AI 编程工作站最容易被忽视、却最关键的能力。它的核心思路很朴素把 Claude 的记忆CLAUDE.md、你的登录凭证、Git/GitHub 配置以及/workspace里的代码全部通过Docker 挂载放到容器之外。这样无论你怎么docker compose down、升级镜像、重建容器这些状态都会完美存活下次启动直接无缝衔接不用再重新登录、不用再解释项目背景。为什么容器重建会丢东西Docker 容器天生是易碎品。容器内部的文件系统随容器创建而生、随容器销毁而灭。也就是说你登录 Claude 的OAuth 凭证写在容器里 → 容器一删就没了Claude 记住你项目背景的CLAUDE.md记忆文件→ 重建后回到出厂状态你的代码如果不挂出来 → 升级镜像瞬间蒸发HolyClaude 数据持久化要解决的就是让容器可以随时换皮但数据长留原地。它没有让你手写复杂的 volume 脚本而是用两条绑定挂载bind mount打地基再靠一套启动时自动恢复 运行时定期存档的机制兜底。两大挂载数据持久化的地基打开 docker-compose.yaml最核心的就是这两行volumesvolumes: - ./data/claude:/home/claude/.claude # 记忆、凭证、配置都在这里 - ./workspace:/workspace # 你的代码和项目都在这里./data/claude↔/home/claude/.claudeClaude 的记忆文件CLAUDE.md、settings.json、Codex/Gemini 配置、以及各类 CLI 凭证统统落在容器内.claude目录而它被挂载到了宿主机的./data/claude。./workspace↔/workspace你写的每一个文件、克隆的每一个仓库都直接写在宿主机上随时可访问、可备份。这两条挂载加上后文提到的会话存档共同构成了容器重建后数据保留的全部地基。完整挂载清单与容器内外路径对照可参考 README.md 的「Data Persistence」表格。Claude 记忆与登录会话60 秒自动存档很多人以为挂上.claude就万事大吉其实 Claude Code 的登录会话存在另一个位置——~/.claude.json它并不在挂载目录里。如果不管它重建容器时 Claude 会把它重置成未完成 onboarding的空状态你的登录就白登了。HolyClaude 用一个精巧的会话桥解决了这个问题启动时scripts/entrypoint.sh 会调用 scripts/persist-claude-json.mjs把存档的会话还原回~/.claude.json。运行时s6-overlay 常驻一个守护循环见 s6-overlay/s6-rc.d/persist-claude-json/run默认每 60 秒把当前有效的~/.claude.json同步一份到~/.claude/.claude.json.persist这个文件在挂载目录里所以能存活。这套逻辑还有防误伤保护空文件、非法 JSON、超大文件、或只剩 onboarding 状态的内容都不会去覆盖一份有效的登录会话。换句话说即使某次状态异常你的凭证也绝不会被冲掉。数据容器内位置宿主机位置重建后存活Claude 记忆CLAUDE.md与设置/home/claude/.claude./data/claude✅登录会话OAuth / API Key/home/claude/.claude.json./data/claude/.claude.json.persist✅Git 全局 / XDG 配置/home/claude/.gitconfig./data/claude/.gitconfig✅GitHub CLI 凭证/home/claude/.config/gh./data/claude/.config/gh✅你的代码与项目/workspace./workspace✅CloudCLI 账号/home/claude/.cloudcli默认容器内可选挂载⚠️ 可选容器重启后谁在自动恢复重建不是手动操作HolyClaude 靠启动脚本自动完成。整个流程详见 docs/architecture.md入口脚本接管→ scripts/entrypoint.sh 做 UID/GID 重映射并先还原Claude 会话。CLI 配置持久化→ 把 Git 全局配置、GitHub CLI 配置软链进挂载的.claude缺省的提交身份会自动补种但绝不覆盖你的手动修改。首次启动引导仅第一次→ scripts/bootstrap.sh 复制默认 config/settings.json 和对应版本的记忆模板config/claude-memory-full.md / config/claude-memory-slim.md然后打上哨兵文件.holyclaude-bootstrapped。哨兵机制只要这个文件存在引导就不会再跑你的自定义配置从此安全。想重置到出厂状态只删这个哨兵文件即可不要删整个./data/claude。升级容器不丢数据的正确姿势日常升级只需两步数据全程不动docker compose pull docker compose up -d因为所有关键状态都在挂载目录镜像更新只是换个引擎记忆、凭证、代码原封不动。⚠️保护./data/claude/它保存着 Claude 会话可能还包含.config/gh/hosts.yml里的 GitHub 凭证。别把它提交进版本库、别随便分享、别放进未加密的备份。只想重置某项状态时删对应的具体文件而不是整个目录。CloudCLI 账号可选的持久化网页端的CloudCLI 账号~/.cloudcli默认存在容器内重建会清空。不过重建账号只要 10 秒多数人保持默认即可。如果你希望它也存活在 compose 里加一个命名卷services: holyclaude: volumes: - ./data/claude:/home/claude/.claude - ./workspace:/workspace - cloudcli-data:/home/claude/.cloudcli # 加这行 volumes: cloudcli-data: # 再加这个块重要CloudCLI 的 SQLite 数据库需要本地文件锁千万别放在 NAS / SMB / NFS 网络盘上否则会报database is locked。用本地盘的命名卷或本地绑定挂载。小结HolyClaude 数据持久化的精髓就一句话把会变的东西留在容器里把要留的东西挂到容器外。两条挂载撑起记忆与代码会话桥60 秒自动存档 启动自动还原守住你的登录凭证哨兵机制保护你的自定义配置。掌握这套机制后你就能放心地随时升级、重建、迁移这台 AI 工作站——数据永远在场工作永远续上。更多细节可查阅 docs/architecture.md 与 README.md。【免费下载链接】HolyClaudeAI coding workstation: Claude Code web UI 8 AI CLIs headless browser 50 tools项目地址: https://gitcode.com/gh_mirrors/ho/HolyClaude创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表