Lazy loaded image
CloudFlare搭建bitwarden服务
Words 1253Read Time 4 min
2026-1-7
2026-1-7
type
status
date
slug
summary
tags
category
icon
password

🚀 简易部署教程:基于 Cloudflare + D1 的 Bitwarden

项目简介:利用 Cloudflare Workers 部署 Bitwarden 后端,使用 D1 数据库存储,支持 R2 附件存储。

🛠️ 第一步:前期准备

在正式开始前,请确保你已经拥有以下环境:
GitHub 账户:用于托管代码和自动部署。
Cloudflare 账户:需开启 Workers、D1 数据库和 R2(可选)。
自定义域名:需已托管在 Cloudflare 且未被墙。

📂 第二步:GitHub 项目与 Secrets 配置

  1. Fork 仓库:先将项目仓库 Fork 到你的账号下。
  1. 开启 Actions:点击仓库顶部的 Actions 选项卡,点击绿色按钮启用。
  1. 添加密钥 (Secrets):进入 Settings -> Secrets and variables -> Actions,点击 New repository secret,依次添加:
密钥名称
说明
获取位置
CLOUDFLARE_ACCOUNT_ID
你的 CF 账户 ID
CF 控制台右侧或 URL 中
CLOUDFLARE_API_TOKEN
CF API 令牌
创建令牌,需有 D1 和 Workers 权限
D1_DATABASE_ID
D1 数据库 ID
在 CF 控制台创建一个 D1 数据库后可看到
R2_NAME
(可选) R2 存储桶名
若需附件功能,填入你创建的 R2 桶名
💡 部署提示:设置完 Secret 后,回到 GitHub Actions 页面,手动触发 Build 工作流进行初次部署。

🗄️ 第三步:初始化 D1 数据库 (建表)

注意: 请登录 Cloudflare 控制台,打开你的 D1 数据库,点击 Explore -> Query。请逐个复制并运行以下 6 段代码:

1. 用户信息表 (Users)

SQL

2. 密码项数据表 (Ciphers)

SQL

3. 文件夹管理表 (Folders)

SQL

4. 附件信息表 (Attachments)

SQL

5. 待处理附件表 (Attachments Pending)

SQL

6. 二步验证表 (Two-Factor)

SQL

⚙️ 第四步:Workers 变量与域名绑定

GitHub Action 运行完成后,前往 Cloudflare 控制台的 Workers & Pages
  1. 设置环境变量:进入 warden-worker -> 设置 -> 变量与机密,添加:
      • ALLOWED_EMAILS: 允许注册的邮箱(多个用逗号隔开)。
      • JWT_SECRET: 填入一个随机的长字符串。
      • JWT_REFRESH_SECRET: 填入另一个随机的长字符串。
  1. 绑定域名:在 设置 -> 域和路由 中,添加自定义域名路由(如 vault.example.com/*)。
  1. 安全配置:建议在域名页面的 安全性 -> 安全规则 中,对 /identity/* 路径开启速率限制。

📱 第五步:登录与使用

  1. 注册账号:由于本方案不含 Web 前端,请使用 Bitwarden 手机 APP 注册。在登录界面点击左上角“设置”,填入你的自定义域名,然后点击“创建账户”。
  1. 数据迁移:注册后,在电脑端登录,即可导入旧的密码库 JSON 文件。
  1. 主密码风险请务必记牢主密码,因为 D1 数据库中存储的是加密后的哈希,无法找回。

🛡️ 第六步:进阶——S3 异地备份

建议在 GitHub Secrets 中配置 S3 备份(推荐使用免费的 Backblaze B2),防止 CF 账户异常。
  • S3 配置项:需添加 S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKET, S3_ENDPOINT
  • 加密备份:建议设置 BACKUP_ENCRYPTION_KEY 以确保备份文件安全。

💎 额外技巧:D1 数据回滚

如果发生误操作,可利用 D1 的 Time Travel 功能:
Bash

上一篇
自部署 whois api 实现域名信息的自动化查询
下一篇
机场推荐