Vaultwarden:用 Rust 编写的非官方 Bitwarden 兼容服务器
Vaultwarden 是一个用 Rust 编写的 Bitwarden 客户端 API 替代服务器实现,与官方 Bitwarden 客户端兼容,非常适合在官方服务可能过于耗费资源的场景下进行自托管部署。
主要特性
项目提供了近乎完整的 Bitwarden 客户端 API 实现,包括:
- 个人保险库、发送、附件、网站图标、个人 API 密钥
- 组织功能:集合、密码共享、成员角色、分组、事件日志、管理员密码重置、目录连接器、策略
- 多因素/双因素认证:支持身份验证器、电子邮件、FIDO2 WebAuthn、YubiKey、Duo
- 紧急访问
- Vaultwarden 管理后台
- 修改版的 Web Vault 客户端(包含在容器中)
使用方式
推荐通过官方发布的容器镜像安装和使用,镜像发布在 ghcr.io、docker.io 和 quay.io。
Docker/Podman 命令示例
docker pull vaultwarden/server:latest
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
此命令将数据持久化存储在宿主机的 /vw-data/ 目录中。
Docker Compose 示例
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vw.domain.tld"
volumes:
- ./vw-data/:/data/
ports:
- 127.0.0.1:8000:80
也可以使用社区维护的软件包,但版本可能滞后或配置方式略有不同。另外,也支持自行构建。项目推荐使用反向代理(即使框架本身支持 TLS)。
社区与支持
如有问题、建议或需要帮助,可加入其在 Matrix、GitHub Discussions 或 Discourse 论坛的社区。报告 bug 或崩溃时,应先搜索现有 issue 和讨论,若无类似问题再新建。
免责声明
- 此项目与 Bitwarden 或 Bitwarden, Inc. 无关联(尽管一位活跃维护者受雇于 Bitwarden,但其贡献是独立的)。
- 维护者团队共同决定项目方向,专注于服务自托管社区(个人、家庭及小型组织)。
- 重要提示:项目方不对使用过程中可能发生的数据丢失负责。强烈建议定期备份文件和数据库。如遇数据丢失,请立即联系项目团队。
- 项目原名 Bitwarden_RS,为避免与官方 Bitwarden 服务器混淆及商标问题而更名为 Vaultwarden。