NodeWarden部署教程:零成本自建Bitwarden密码管理器

NodeWarden部署教程:零成本自建Bitwarden密码管理器
luoli
今天分享一个非常实用的项目——NodeWarden,它是运行在 Cloudflare Workers 上的 Bitwarden 兼容服务端。
简单来说:花 0 元,用 Cloudflare 免费额度,就能搭建一个属于自己的密码管理器,功能对标 Bitwarden 免费版甚至更多。
项目地址
- GitHub: https://github.com/shuaiplus/NodeWarden
- 官方 Wiki: https://nodewarden.app
什么是 NodeWarden?
NodeWarden 是一个开源的 Bitwarden 兼容服务端,完全运行在 Cloudflare Workers 上。这意味着你可以:
- 直接使用 Bitwarden 官方客户端(手机 App、浏览器扩展、桌面客户端)
- 完全自主掌控密码库数据,不依赖第三方服务
- 利用 Cloudflare 的全球 CDN 加速
- 免费额度下几乎无限使用
NodeWarden 比 Bitwarden 免费版多了什么?
| 功能 | Bitwarden 免费版 | NodeWarden |
|---|---|---|
| Web 密码库 | ✅ | ✅ |
| PWA / 离线使用 | ❌ | ✅ |
| 云端定时增量备份 | ❌ | ✅ |
| 多用户邀请注册 | ❌ | ✅ |
| 登录请求 / 跨设备解锁 | ❌ | ✅ |
| 设备管理与信任控制 | 部分 | ✅ 完整 |
| TOTP(含 Steam) | ❌ | ✅ |
| Passkey 无密码登录 | ✅ | ✅ |
| Send / 附件 | ✅ | ✅ |
目前唯一不支持的是组织/集合/SSO 等企业级功能,但个人和小团队用绰绰有余。
一、快速部署(可视化,推荐新手)
这是最简单的部署方式,全程在浏览器操作,不用开终端。
步骤 1:Fork 仓库
打开 NodeWarden GitHub 仓库,点击右上角 Fork,将仓库复制到你的 GitHub 账号下。
步骤 2:进入 Cloudflare Dashboard
登录 Cloudflare Dashboard,导航到 Workers & Pages。
步骤 3:创建 Worker
- 点击 Create application → Connect to git
- 选择你的 GitHub 账号,找到刚才 Fork 的
NodeWarden仓库 - 点击 Connect
步骤 4:配置构建
在配置页面填写:
- Framework preset: 选择
Workers或None - Build command:
npm run build - Deploy command:
npm run deploy
如果选择 KV 模式(不需要绑卡),改为npm run deploy:kv - Output directory: 留空(默认即可)
点击 Save and Deploy。
步骤 5:设置域名
部署完成后,默认会生成一个 xxx.pages.dev 的域名。
⚠️ 重要:Cloudflare 默认域名在国内部分网络环境无法直接访问。建议绑定自己的自定义域名:
- 进入 Workers 设置
- 在 Triggers 页面点击 Add Custom Domain
- 输入你的域名(例如
vault.example.com) - Cloudflare 会自动添加 DNS 记录
二、CLI 部署(适合有经验的用户)
如果你习惯命令行操作,也可以用 wrangler 直接部署:
# 1. 克隆仓库
git clone https://github.com/shuaiplus/NodeWarden.git
cd NodeWarden
# 2. 安装依赖
npm install
# 3. 登录 Cloudflare
npx wrangler login
# 4. 部署(默认 R2 模式)
npm run deploy
# 或使用 KV 模式(无需绑卡)
npm run deploy:kv
# 本地开发
npm run dev # R2 模式本地调试
npm run dev:kv # KV 模式本地调试三、R2 与 KV 模式怎么选?
这是部署时最重要的选择,直接影响使用体验和成本:
| 对比项 | R2 模式 | KV 模式 |
|---|---|---|
| 是否需要绑卡 | 需要(Cloudflare 强制) | 不需要 |
| 单个附件/文件上限 | 100 MB(软限制,可调) | 25 MB(硬限制) |
| 免费存储额度 | 10 GB | 1 GB |
| 适合场景 | 有附件需求、文件较大 | 纯密码管理、轻量使用 |
建议
- 如果你只需要管理密码和账号,KV 模式完全够用,而且不需要绑信用卡
- 如果你需要存储图片、文档等附件,或者经常使用 Send 功能,选 R2 模式
四、部署后配置
1. 设置 JWT_SECRET(必须)
首次访问时,页面会提示缺少 JWT_SECRET,这是系统的安全密钥:
- 进入 Workers 设置 → Variables and Secrets
- 添加一个新 Secret,名称为
JWT_SECRET - 值至少 32 个字符的随机字符串
你可以用以下命令生成:
openssl rand -base64 32⚠️ 不要用临时值或示例值,这个密钥关系到账户安全。
2. 初始化数据库
数据库(D1)会在第一次访问时自动初始化,不需要手动上传 SQL 文件。打开你的站点,看到注册页面就说明初始化成功。
3. 配置备份(可选)
NodeWarden 支持定时增量备份到 WebDAV 或 S3:
- 在设置页面配置备份目标
- 设置备份频率
- 系统会自动定时推送密码库备份
这是 Bitwarden 免费版没有的功能,强烈建议开启。
五、客户端配置
部署完成后,所有 Bitwarden 官方客户端都可以直接使用,只需要在客户端设置里替换服务端地址。
手机 App
- 打开 Bitwarden App
- 设置 → 服务器设置 → 自定义服务器
- 填入你的地址,例如
https://vault.example.com
浏览器扩展
- 扩展设置 → 设置
- 服务器 URL 改为你的地址
- 刷新扩展
桌面客户端
设置路径类似,把 https://vault.bitwarden.com 替换为你的地址即可。
网页版
直接用浏览器访问你的站点,就是 Web Vault,和官方界面完全一致。
六、如何更新
NodeWarden 更新非常简单:
- 打开你 Fork 的 GitHub 仓库
- 看到顶部提示 "This branch is behind" 时,点击 Sync fork
- 点击 Update branch 确认
- Cloudflare 会自动重新构建部署
整个流程大约 1-2 分钟。
七、常见问题
Q: 需要绑信用卡吗?
- KV 模式不需要,完全免费
- R2 模式需要(Cloudflare 规定),但免费额度够用,不会产生额外费用
Q: 数据安全吗?
NodeWarden 使用 Bitwarden 的原生加密方案,密钥只存在你的客户端,服务端无法解密你的密码库。即使 Cloudflare 被攻破,你的数据依然是安全的。
⚠️ 但请注意:定期备份你的密码库,不要把所有鸡蛋放在一个篮子里。
Q: macOS 桌面客户端能用吗?
目前 macOS 桌面客户端尚未完整验证,其他平台(Windows、Linux、手机、浏览器扩展)都已测试通过。
Q: 能多人使用吗?
可以!NodeWarden 支持邀请码注册,你可以创建多个账户,适合小团队或家庭成员共享使用。
总结
NodeWarden 是我用过的最好的免费自建密码管理器方案:
- ✅ 零成本(Cloudflare 免费额度)
- ✅ 官方客户端全兼容
- ✅ 功能比 Bitwarden 免费版更丰富
- ✅ 部署简单,更新方便
- ✅ 数据完全自主掌控
如果你还在用浏览器自动保存密码,或者付费使用 1Password、Dashlane,不妨试试 NodeWarden,体验一把自建密码库的自由。
免责声明
NodeWarden 与 Bitwarden 官方无关,本项目仅供学习交流使用。
请定期备份你的密码库,避免因数据丢失造成损失。
更多信息请访问 官方 Wiki






