快速开始
方式一:Docker(推荐)
使用 Docker 是运行 Bonds 最简单的方式:
bash
# 下载 docker-compose.yml
curl -O https://raw.githubusercontent.com/naiba/bonds/main/docker-compose.yml
# 在当前 shell 中生成并导出 256 位 JWT 签名密钥
export JWT_SECRET="$(openssl rand -hex 32)"
# 启动服务
docker compose up -d打开 http://localhost:8080,注册账号即可使用。
请只生成一次密钥,并保存在受保护的环境变量或密钥管理服务中,每次重启都复用同一个值。请规划 JWT 密钥轮换:轮换会使现有会话失效,且由于 DAV 订阅凭据的加密派生自该密钥,可能需要重新录入这些凭据。
持久化存储
默认的 docker-compose.yml 已挂载数据卷,SQLite 数据库和上传文件在容器重启后仍然保留。
方式二:下载预编译版本
从 GitHub Releases 下载最新版本:
bash
# 只生成一次 JWT 签名密钥,随后安全保存并复用
export JWT_SECRET="$(openssl rand -hex 32)"
export APP_ENV=production
# 运行服务器
./bonds-server服务器在 http://localhost:8080 启动,自带前端界面和 SQLite 数据库。
数据目录
默认情况下,Bonds 在工作目录中存储数据:
| 路径 | 用途 |
|---|---|
bonds.db | SQLite 数据库 |
uploads/ | 上传的文件(照片、文档) |
data/bonds.bleve/ | 全文搜索索引 |
data/backups/ | 自动备份 |
方式三:从源码构建
环境要求:Go 1.25+、Bun 1.x
bash
git clone https://github.com/naiba/bonds.git
cd bonds
# 安装依赖
make setup
# 构建单二进制文件(内嵌前端)
make build-all
# 运行
export JWT_SECRET="$(openssl rand -hex 32)"
./server/bin/bonds-server登录后的第一步
第一位用户 = 实例管理员
在新 Bonds 实例上第一个注册的用户会自动获得实例管理员权限。该用户可以访问管理面板来管理系统设置、其他用户和备份。可以在管理面板中提升其他用户为管理员。
- 创建 Vault — Vault 是联系人的隔离容器。你可以创建「家人」和「工作」两个 Vault。
- 添加联系人 — 在 Vault 中创建联系人,添加详细信息、照片、笔记。
- 设置提醒 — 不再忘记生日或重要日期。配置邮件或 Telegram 通知。
- 邀请他人 — 通过邮件邀请家人共享 Vault,并设置适当的权限级别。
系统要求
- CPU:任何现代 64 位处理器
- 内存:空闲时约 50 MB,随使用量增长
- 磁盘:极少;取决于上传文件大小
- 操作系统:Linux(amd64、arm64)、macOS、Windows
- 数据库:SQLite(内置)或 PostgreSQL 14+