自托管
更新升級
升級運行中的 TraderMemos 實例 —— 拉取、重啓即可,數據庫遷移自動完成。
數據庫遷移在 API 啓動時自動執行 —— 升級就是拉取 + 重啓。不過大版本跳躍前仍建議先 備份。
Docker(默認方式)
cd TraderMemos
git pull # 獲取 compose / Makefile 的變更(如有)
docker compose pull # 拉取新版鏡像
make up # 重建容器(docker compose up -d)如果你是從源碼構建而非拉取 Hub 鏡像:
git pull
make up-build # 從倉庫重新構建兩個鏡像驗證運行中的版本:
curl -s http://localhost:3000/healthz
# {"status":"ok","version":"0.7.0","go":"go1.26","commit":"…"}鎖定版本(生產環境推薦)
latest 會隨每次發版變動。在根目錄 .env 中鎖定版本,並有意識地手動升級:
# .env
TM_IMAGE_TAG=0.7.0# 升級:修改 TM_IMAGE_TAG,然後
docker compose pull && make up已發佈的標籤遵循語義化版本:0.7.0、0.7、0、latest,以及不可變的 commit sha 標籤。
鏡像爲多架構(amd64 + arm64)。版本與變更記錄見
CHANGELOG 與
GitHub Releases。
遷移的行爲
- 遷移腳本內嵌在 API 二進制中,啓動時自動應用(SQLite 與 Postgres 各有一條遷移鏈)。
- SQLite 數據庫旁的文件鎖(
tradermemos.db.migrate.lock)可防止兩個進程同時執行遷移。 - 不支持自動降級。schema 遷移完成後回退到舊版鏡像是不受支持的 —— 請改用 升級前的備份進行恢復。
Fork / CDN 部署
- Vercel / Cloudflare / Netlify 的 Web:推送到 fork 默認分支即自動重新部署;把 fork 與上游同步就完成了更新。
- Railway 的 API:推送即重新部署。
/data數據卷跨部署持久保留 —— 保持掛載即可。