Hermes Agent v2026.5.16 升級:從 v2026.4.30 到 SSH 自定義部署
Hermes Agent v2026.5.16 升級:從 v2026.4.30 到 SSH 自定義部署
升級流程
- Fetch upstream tags,確認新版本 v2026.5.16
- 建立備份 branch
backup-my-config-v2026.4.30 - checkout 到
my-config-v2026.5.16基於上官 v2026.5.16 tag - 套用 SSH 自定義修改
- 觸發 GitHub Actions build → 打 tag
v2026.5.16 - Zeabur 重啟 pull 新 image,成功
- 更新 Mac docker-compose.yml
自定義修改(相較於上官 v2026.5.16)
| 項目 | 差異 |
|---|---|
openssh-server | 上官沒有,Zeabur 需要 SSH |
ssh-keygen -A | 啟動 SSH daemon |
NODE_OPTIONS | Node OOM 保護 |
entrypoint-ssh.sh | SSH 啟動 + 清理 root-owned 檔案 + 交給上官 entrypoint |
| ENTRYPOINT | 指向 entrypoint-ssh.sh 而非上官 entrypoint.sh |
chmod +x entrypoint-ssh.sh | 確保有執行權限 |
踩坑/發現
1. 上游 v2026.5.16 修復了 .venv 權限問題
上官 commit 942adf617 修了一個問題:.venv 必須 hermes-writable,否則 lazy_deps 無法在 runtime 安裝 platform packages(discord.py, telegram, slack 等)。 上官已在 Dockerfile 裡 chown .venv 並在 entrypoint.sh 裡處理 HERMES_UID remap 時的 .venv chown。
2. docker-compose.yml 改用 ${HERMES_IMAGE} 代入符
docker-compose.yml:image: ${HERMES_IMAGE}data/.env:HERMES_IMAGE=ghcr.io/kuniakil/hermes-agent:v2026.5.16- 下次升級時只需更新
data/.env裡的版本號
Zeabur Startup Command
1
sh -c '/opt/hermes/docker/entrypoint-ssh.sh gateway run'
Mac Startup Command
1
docker compose pull && docker compose up -d
Commits on my-config-v2026.5.16
579d2b716chore: upgrade to v2026.5.16 with SSH supportf8d3605a3chore: update docker-compose.yml to v2026.5.16d6ba1cb89chore: use HERMES_IMAGE env var in docker-compose.ymlaa1cfc2e1chore: simplify HERMES_IMAGE env var usage in docker-compose.yml3431db4e0chore: add HERMES_IMAGE documentation to .env.example
This post is licensed under CC BY 4.0 by the author.