这是 Bitwarden 客户端 API 的一个替代服务器实现,使用 Rust 编写,并兼容官方 Bitwarden 客户端 [免责声明],非常适合自托管部署,尤其是在官方服务资源消耗较大的情况下。
Important
使用本服务器时,无论你使用的是哪种客户端(移动端、桌面端、浏览器等),请直接向我们报告任何 bug 或建议(见联系我们),不要使用官方 Bitwarden 的支持渠道。
几乎完整实现了 Bitwarden 客户端 API,包括:
- 个人保险库
- Send 临时分享
- 附件
- 网站图标
- 个人 API 密钥
- 组织
- 多重/双重身份验证
- 紧急访问
- Vaultwarden 管理后台
- 修改版 Web Vault 客户端(已集成在我们的容器中)
Important
大多数现代浏览器在不安全的环境下会禁止使用 Web Crypto API,这时你可能会遇到 Cannot read property 'importKey'
之类的错误。为解决此问题,你需要通过 HTTPS 或 localhost 访问 Web Vault。
你可以在 Vaultwarden 直接配置 HTTPS,或使用第三方反向代理(示例)。
如果你有可用的域名,可以通过 Let's Encrypt 获取 HTTPS 证书,或使用 mkcert 等工具生成自签名证书。一些代理(如 Caddy 或 Traefik)可自动完成此步骤(见上述示例)。
Tip
更多安装、使用和配置 Vaultwarden 的详细示例,请查阅我们的 Wiki。
Vaultwarden 主要通过我们的容器镜像使用,这些镜像已发布在 ghcr.io、docker.io 和 quay.io。
也有社区驱动的安装包可用,但这些包可能会落后于最新版本,或在配置方式上与官方文档有所不同,详情见我们的 Wiki。
拉取容器镜像,并挂载主机卷以实现数据持久化。
如果你更喜欢 podman,可以将 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 80:80 \
vaultwarden/server:latest
这样可以将所有持久化数据保存在 /vw-data/
下,你可以根据需要调整路径。
使用 Docker Compose 需要创建一个 compose.yaml
文件,用于配置 Vaultwarden 容器。
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vw.domain.tld"
volumes:
- ./vw-data/:/data/
ports:
- 80:80
有问题、建议或需要帮助?欢迎加入我们的社区:Matrix、GitHub Discussions 或 Discourse 论坛。
遇到 bug 或崩溃?请先在 issue 跟讨论区搜索是否已有人报告。如果没有,请发起新讨论或创建新 issue。请确保你使用的是最新版本,并且没有类似的已开放或已关闭问题!
感谢你对本项目的贡献!
本项目与 Bitwarden 或 Bitwarden, Inc. 无关联。
不过,Vaultwarden 的一位活跃维护者受雇于 Bitwarden,并被允许在业余时间为本项目做贡献。这些贡献完全独立于 Bitwarden,并由其他维护者审核。
维护者们共同决定项目方向,专注于服务自托管社区,包括个人、家庭和小型组织,同时确保项目的可持续发展。
**请注意:**我们不对使用 Vaultwarden 过程中可能发生的任何数据丢失负责,包括密码、附件及应用处理的其他信息。强烈建议你定期备份文件和数据库。如果你遇到数据丢失,请立即联系我们。
本项目原名 Bitwarden_RS,现已更名为 Vaultwarden,以避免与官方 Bitwarden 服务器混淆及商标/品牌问题。
详情请参见 #1642 - v1.21.0 版本发布及项目更名为 Vaultwarden。