NAS 部署轻量级密码管理器 Vaultwarden:自托管 Bitwarden 的完整指南
你是否曾经因为记不住各种账户密码而苦恼?是否担心将密码存储在云端服务中会带来隐私泄露的风险?很多 NAS 用户虽然已经拥有了强大的存储设备,却仍然依赖浏览器自带的密码管理功能,或者使用第三方云密码服务。今天,我们就来聊聊如何在 NAS 上部署 Vaultwarden,一个自托管的密码管理器,让你完全掌控自己的密码数据。
为什么选择 Vaultwarden 而不是 Bitwarden 官方服务
Bitwarden 是一个非常优秀的开源密码管理器,但其官方服务器版本(bitwarden_rs)需要消耗大量系统资源,尤其是内存和数据库依赖。而 Vaultwarden(原 bitwarden_rs)是使用 Rust 语言重写的轻量级实现,完全兼容 Bitwarden 客户端,但资源占用极低。
对于 NAS 用户来说,Vaultwarden 的优势非常明显: - 内存占用通常在 100MB 以下,远低于官方版本的 2GB 以上 - 无需独立的数据库服务,默认使用 SQLite,部署简单 - 支持 Docker 一键部署,适合群晖、威联通等主流 NAS - 数据完全掌握在自己手中,不依赖第三方云服务
部署前的准备工作
在开始部署之前,你需要确认以下几点:
- NAS 支持 Docker(群晖 DSM 7.x、威联通 QTS 均支持)
- 有一个固定的域名或 DDNS 地址(用于 HTTPS 证书和远程访问)
- 准备一个用于反代的端口,例如 8080
如果你没有域名,也可以使用 NAS 的 IP 地址直接访问,但为了安全,强烈建议配置 HTTPS。
Docker 部署 Vaultwarden 详细步骤
第一步:创建数据目录
在 NAS 上创建一个用于存放 Vaultwarden 数据的文件夹,例如:
mkdir -p /volume1/docker/vaultwarden/data
第二步:拉取镜像并启动容器
使用 Docker 命令或 NAS 的图形化界面(如群晖的 Container Manager)创建容器。以下是 Docker Compose 配置示例:
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
- DOMAIN=https://your-domain.com
- SIGNUPS_ALLOWED=false # 注册自己后改为 false,禁止他人注册
- WEBSOCKET_ENABLED=true
volumes:
- /volume1/docker/vaultwarden/data:/data
ports:
- "8080:80"
如果你使用命令行,可以执行:
docker run -d \
--name vaultwarden \
--restart unless-stopped \
-e DOMAIN="https://your-domain.com" \
-e SIGNUPS_ALLOWED=true \
-v /volume1/docker/vaultwarden/data:/data \
-p 8080:80 \
vaultwarden/server:latest
第三步:首次配置与注册
启动容器后,通过 http://NAS-IP:8080 访问 Vaultwarden 的 Web 界面。首次访问时,你需要:
- 点击“创建账户”注册一个管理员账号
- 登录后进入“设置”页面,将
SIGNUPS_ALLOWED环境变量改为false并重启容器 - 在“管理”页面中,可以配置 SMTP 邮件服务、两步验证等安全选项
配置 HTTPS 反向代理
为了保证密码数据在传输过程中的安全,必须配置 HTTPS。这里推荐使用 Nginx Proxy Manager(NPM)作为反向代理工具。
- 在 NPM 中新建一个 Proxy Host
- Domain Names 填入你的域名,例如
pass.your-domain.com - Forward Hostname/IP 填入
127.0.0.1(或 NAS 内网 IP) - Forward Port 填入
8080 - 开启 SSL 选项卡,申请 Let's Encrypt 证书
完成后,你就可以通过 https://pass.your-domain.com 安全地访问 Vaultwarden 了。
客户端配置与日常使用
Vaultwarden 完全兼容 Bitwarden 的官方客户端,包括浏览器插件、手机 App 和桌面应用。
以浏览器插件为例:
1. 安装 Bitwarden 浏览器扩展
2. 点击扩展图标,选择“设置”
3. 在“服务器 URL”中填入你的 Vaultwarden 地址(如 https://pass.your-domain.com)
4. 保存后即可使用邮箱和主密码登录
手机 App 的操作类似,在登录界面点击右上角的设置图标,修改服务器地址即可。
数据备份与恢复策略
由于密码数据至关重要,务必建立完善的备份机制。Vaultwarden 的所有数据都存储在 /data 目录下的 SQLite 数据库中。
最简单的备份方式是定期复制整个数据目录:
# 使用 cron 定时备份
0 2 * * * tar -czf /backup/vaultwarden-$(date +%Y%m%d).tar.gz /volume1/docker/vaultwarden/data
恢复时,只需将备份文件解压回原目录,然后重启容器即可。建议将备份文件同步到另一台设备或云存储,实现异地容灾。
总结
通过以上步骤,你已经在 NAS 上成功部署了一个功能完整、轻量高效的密码管理器。Vaultwarden 不仅让你摆脱了对第三方密码服务的依赖,还提供了与 Bitwarden 完全一致的客户端体验。现在,你可以放心地将所有账户密码交给它管理,享受自托管带来的安全与便利。记住定期更新容器镜像,并保持备份习惯,你的密码数据将万无一失。
暂无评论,来说两句吧