返回目录
开源项目安全工具类新手

Vaultwarden:Rust 编写的非官方 Bitwarden 兼容服务端(原 bitwarden_rs)

Vaultwarden 是用 Rust 编写的 Bitwarden 客户端 API 替代服务端实现,兼容官方 Bitwarden 客户端,面向自托管场景,适合不想运行资源占用较高的官方服务端的个人、家庭和小型组织。项目提供接近完整的客户端 API 实现,推荐通过 ghcr.io、docker.io、quay.io 上的容器镜像安装,并要求启用 HTTPS 与反向代理。

0 次阅读2026/09/14 发布
Vaultwarden:Rust 编写的非官方 Bitwarden 兼容服务端(原 bitwarden_rs) 来源图片

社区作者 · zZz

它解决什么问题

Vaultwarden 是 Bitwarden 客户端 API 的另一种服务端实现,使用 Rust 编写,可与官方 Bitwarden 客户端(移动端、桌面端、浏览器扩展等)配合使用,定位是自托管部署,适用于运行官方资源占用较高的服务端不太理想的场景。项目原名 Bitwarden_RS,后更名为 Vaultwarden,以与官方 Bitwarden 服务端区分,避免混淆及商标/品牌问题(参见 #1642 关于 v1.21.0 版本发布与项目改名的说明)。

功能方面,项目提供接近完整的 Bitwarden 客户端 API 实现,包含:个人密码库(Personal Vault)、Send、附件、网站图标、个人 API Key;组织能力包括 Collections(集合)、密码共享、成员角色、组、事件日志、管理员密码重置、目录连接器(Directory Connector)与策略;多因素/两步认证支持 Authenticator、邮件、FIDO2 WebAuthn、YubiKey、Duo;还提供紧急访问(Emergency Access)、Vaultwarden 管理后台(Admin Backend),以及随容器捆绑的修改版 Web Vault 客户端(配图 1 为项目 Logo)。

使用要求与安装方式:Web Vault 依赖 Web Crypto API,需要 HTTPS 和安全上下文,因此只有在启用 HTTPS 时才能正常工作,项目也建议搭配反向代理。推荐使用其容器镜像安装,镜像发布在 ghcr.io、docker.io 和 quay.io;社区维护的软件包也可以使用,但可能落后于最新版本,或在配置方式上与 Wiki 说明存在差异;此外也可以自行构建 Vaultwarden。

虽然 Vaultwarden 基于内置 TLS 支持的 Rocket Web 框架,项目仍建议配置反向代理(页面提供了代理示例)。更详细的安装、使用与配置示例可查阅官方 Wiki。

反馈与责任说明:使用本服务端时,无论使用哪种客户端,任何 bug 或建议都应直接反馈给 Vaultwarden 项目方(见 Get in touch),不要使用 Bitwarden 官方支持渠道。项目声明与 Bitwarden 及 Bitwarden, Inc. 无关联;不过有一位活跃维护者受雇于 Bitwarden,并被允许在个人时间参与项目,这些贡献独立于 Bitwarden 并由其他维护者审核。维护者共同决定项目方向,重点服务包括个人、家庭和小型组织在内的自托管社区,并保证项目可持续性。

项目声明不对使用过程中可能发生的数据丢失(包括密码、附件及应用程序处理的其他信息)承担责任,强烈建议定期备份文件和数据库,若发生数据丢失应第一时间联系项目方。

许可证信息:来源正文未提及具体开源许可证,需以仓库实际许可文件为准,此处标注为待核验。

适用对象:希望自托管密码管理服务的个人用户、家庭用户、小型组织与运维人员,以及需要密码共享、成员角色、目录连接器和多因素认证能力的小型团队。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

准备环境:

步骤 1 · 准备一台可运行 Docker 或

可复制命令
Podman 的主机

;页面上使用 podman 时可把命令中的 docker 替换为 podman。

  1. Web Vault 依赖 Web Crypto API,需要 HTTPS 和安全上下文,因此必须启用 HTTPS,否则 Web Vault 无法工作。
  1. 建议配置反向代理,并使用一个可用的域名,例如 vw.domain.tld。
  1. 规划持久化存储目录,示例使用宿主机的 /vw-data/,可自行修改为合适路径。

方式一:Docker/Podman CLI

  1. 拉取容器镜像并挂载宿主机卷用于持久化存储:
命令
docker pull vaultwarden/server:latest
  1. 启动容器(以下为页面给出的完整命令,反斜杠表示换行):
命令
docker run --detach --name vaultwarden \

--env DOMAIN="https://vw.domain.tld" \ --volume /vw-data/:/data/ \ --restart unless-stopped \ --publish 127.0.0.1:8000:80 \ vaultwarden/server:latest 说明:--volume 把宿主机 /vw-data/ 挂载到容器内 /data/,用于保留持久化数据;--publish 仅把端口映射到本机 127.0.0.1:8000,再由反向代理对外提供 HTTPS 访问。

方式二

方式二
Docker Compose

services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: unless-stopped environment: DOMAIN: "https://vw.domain.tld" volumes:

  1. 创建 compose.yaml 文件,内容为:
可复制命令
./vw-data/:/data/

ports:

  • 127.0.0.1:8000:80

步骤 2 · 在 compose.yaml 所在目录启动:

可复制命令
docker compose up -d

  1. 配置反向代理,把 HTTPS 域名转发到 127.0.0.1:8000。

首次运行与使用:

  1. 容器启动后,通过浏览器访问已配置好 HTTPS 的域名,确认服务可访问。
  1. 在官方 Bitwarden 客户端(移动端、桌面端、浏览器扩展等)中把服务器地址改为自建域名,然后登录/注册使用。
  1. 镜像同时发布在 ghcr.io、docker.io 和 quay.io,页面对可用标签提供了单独说明,选择镜像标签前应先阅读该说明。

常见问题:

  • 仅使用 HTTP 时 Web Vault 无法工作,必须启用 HTTPS。
  • 建议使用反向代理,页面上提供了代理示例;虽然项目基于内置 TLS 支持的 Rocket Web 框架,官方仍推荐反向代理方式。
  • 社区维护的软件包可能落后于最新版本,或配置方式与 Wiki 描述存在差异。
  • 自建服务存在数据丢失风险,官方强烈建议定期备份文件与数据库;如发生数据丢失,应立即联系项目方。
  • 无论使用哪种客户端,bug 或建议都应反馈给 Vaultwarden 项目方,不要使用 Bitwarden 官方支持渠道;提交前先搜索 issue tracker 和 discussions,确认使用最新版本且不存在相同问题。
  • 更详细的安装、使用与配置示例参见项目 Wiki;也可以自行构建 Vaultwarden(页面仅说明可自行构建,未给出具体构建步骤)。

来源教程配图

Vaultwarden Logo
配图 1 · Vaultwarden Logo查看原图

适用场景

个人自托管密码管理服务
替代资源占用较高的官方 Bitwarden 服务端
家庭用户集中保存与共享密码
附件和 Send 内容
小型组织通过 Organizations
Collections
成员角色与组实现密码共享和权限管理
使用 Authenticator
邮件
FIDO2 WebAuthn
YubiKey
Duo 配置多因素认证