你可曾想过,直接将BitWarden部署到Cloudflare Worker? - AcoFork Blog

同步来源:树洞剪藏 源站剪藏 ID:641 原文地址:https://blog.acofork.com/posts/warden-worker/
你可曾想过,直接将BitWarden部署到Cloudflare Worker? - AcoFork Blog
set 限制解除
AcoFork Blog
首页 归档 友链 赞助 统计 监控
首页 归档 友链 赞助 统计 监控
主题模式
主题色彩
禁用背景
彩虹模式
背景模糊
4px
开发模式
二叉树树
Protect What You Love.
访问量 446155
访客数 44082
NodeSupport | Promotion
NodeSupport Project
Provide free server sponsorship to high-quality blogs, channels, open-source projects, and popular app.
Support ID: 316
'>
448 字
2 分钟
你可曾想过,直接将BitWarden部署到Cloudflare Worker?
warden-worker就是这样一个项目,它将Rust编译为WASM,然后部署到Cloudflare Worker,无需VPS,无需家里云,只需点点鼠标就可免费用上自己的密码托管!
2025-11-21
1165 次
917 人
原理 # 项目参考开源的 dani-garcia/vaultwarden: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs 将Rust源码编译为WASM以支持在Cloudflare Worker上运行。其中Worker负责REST API,D1负责存储加密后的数据
实战 # 打开Cloudflare https://dash.cloudflare.com/ 登录后复制这里的 账户ID (CLOUDFLARE_ACCOUNT_ID)
右上角进入配置文件
左上角选择API令牌
点击创建令牌
选择 编辑Cloudflare Workers
创建后 复制API 令牌 (只会展示一次)(CLOUDFLARE_API_TOKEN)
回到主页,进入D1数据库
选择 创建数据库
创建完成后,进入,复制 D1 数据库 ID (D1_DATABASE_ID)
由于原项目坑点太多(如:依赖不固定版本导致编译报错,必须设置的环境变量不写白,SQL初始化遇到问题直接跳过)
这里我Fork并二改了一个我的版本,跟着我的步骤走,包你成功! Fork我的仓库(别忘了点个 Star ) afoim/warden-worker: A Bitwarden-compatible server for Cloudflare Workers 在仓库设置中添加上述三个机密环境变量
CLOUDFLARE_ACCOUNT_ID
CLOUDFLARE_API_TOKEN
D1_DATABASE_ID
点击 Action,运行Build工作流
Build结束,全绿
打开Cloudflare D1,查看数据库表
如果这里是空的,我们就手动建表
查看这个文件 warden-worker/sql/schema.sql at main · afoim/warden-worker 依次将这3个SQL块进行执行(一定要依次,不能一把梭)。每执行一次你应该都能看到新表的出现
进入Workers
进入 warden-worker
先添加 自定义域 ,填你的域名,因为 Worker 默认给的域名国内无法访问
再添加 变量与机密 (注意不要有空格)
ALLOWED_EMAILS [email protected]
JWT_SECRET 随机的长字符串
JWT_REFRESH_SECRET 随机的长字符串
此时打开手机上的 BitWarden 软件,在你的自托管上创建账号即可(注意:密码一经设置将无法更改)
这篇文章是否对你有帮助?
联系
赞助
发现错误或想要改进这篇文章? 在 GitHub 上编辑此页
你可曾想过,直接将BitWarden部署到Cloudflare Worker? https://blog.acofork.com/posts/warden-worker/
作者 二叉树树
发布于 2025-11-21
许可协议 CC BY-NC-SA 4.0 giscus
0 个表情
登录 后可添加回应。
👍 👎 😄 🎉 😕 ❤️ 🚀 👀
4 条评论 · 2 条回复 – 由 giscus 提供支持 最早 最新
输入 预览
使用 GitHub 登录
lyainmo 2025 年 11 月 22 日
嗯……这种途径能够导入有服务器版本的用户数据库吗?
1
登录 后可添加回应。
👍 👎 😄 🎉 😕 ❤️ 🚀 👀
2 条回复
qaz741wsd856 2025 年 11 月 27 日
按理说不行,因为免费计划每次Worker请求限50次D1操作,现在的实现是逐条数据插入的,如果放在一般的js worker上会插入50条之后就报错(而且数据库不会回滚,那50条数据会留在里面)。
但我试着导入一下我的600+条数据的库,不知道为啥能完整导入,就是速度慢的离谱就是了。
我整了个把导入改成批操作的 PR 你可以试一下。
登录 后可添加回应。
👍 👎 😄 🎉 😕 ❤️ 🚀 👀 ❤️ 1
heartnn 2025 年 11 月 28 日
200条数据也导入成功了,但是我原来是备份的zip,现在附件没法导入,另外没有前端也挺别扭,就当个备份用
登录 后可添加回应。
👍 👎 😄 🎉 😕 ❤️ 🚀 👀 👍 1 🎉 1
mbsfc 2025 年 11 月 27 日
完全按步骤操作,也没有报错,app上注册账户提交时提示:发生错误,直接访问绑定的域名提示HTTP ERROR 404
1
登录 后可添加回应。
👍 👎 😄 🎉 😕 ❤️ 🚀 👀
0 条回复
Dragonender 2025 年 12 月 8 日
2x树树的fork的star好像比原项目的都多呢()
1
登录 后可添加回应。
👍 👎 😄 🎉 😕 ❤️ 🚀 👀
0 条回复
haitanghua1122 2025 年 12 月 26 日
感谢树树,成功部署,一次性导入200多条密码都没问题
1
登录 后可添加回应。
👍 👎 😄 🎉 😕 ❤️ 🚀 👀
0 条回复 '>
Win11保留数据无损降级Win10!
解决困扰我多时的JS重复请求问题
© 2024 - 2026 二叉树树 ,采用 CC BY-NC-SA 4.0 许可
RSS / 网站地图
由 Astro 和 Fuwari 强力驱动
本网站代码 已开源 (cb180e1 @ 2026-01-08 18:59:32) 皖ICP备2025099787号-2
访问节点:ESA
1 原理
2 实战