Skip to content

快速开始 ​

方式一: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.dbSQLite 数据库
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 实例上第一个注册的用户会自动获得实例管理员权限。该用户可以访问管理面板来管理系统设置、其他用户和备份。可以在管理面板中提升其他用户为管理员。

  1. 创建 Vault — Vault 是联系人的隔离容器。你可以创建「家人」和「工作」两个 Vault。
  2. 添加联系人 — 在 Vault 中创建联系人,添加详细信息、照片、笔记。
  3. 设置提醒 — 不再忘记生日或重要日期。配置邮件或 Telegram 通知。
  4. 邀请他人 — 通过邮件邀请家人共享 Vault,并设置适当的权限级别。

系统要求 ​

  • CPU:任何现代 64 位处理器
  • 内存:空闲时约 50 MB,随使用量增长
  • 磁盘:极少;取决于上传文件大小
  • 操作系统:Linux(amd64、arm64)、macOS、Windows
  • 数据库:SQLite(内置)或 PostgreSQL 14+

Released under the BSL-1.1 License (each version converts to AGPL-3.0 four years after its first public release)