硬件推荐

NAS 部署轻量级密码管理器 Vaultwarden:自托管 Bitwarden 的完整指南

你是否曾经因为记不住各种账户密码而苦恼?是否担心将密码存储在云端服务中会带来隐私泄露的风险?很多 NAS 用户虽然已经拥有了强大的存储设备,却仍然依赖浏览器自带的密码管理功能,或者使用第三方云密码服务。今天,我们就来聊聊如何在 NAS 上部署 Vaultwarden,一个自托管的密码管理器,让你完全掌控自己的密码数据。

为什么选择 Vaultwarden 而不是 Bitwarden 官方服务

Bitwarden 是一个非常优秀的开源密码管理器,但其官方服务器版本(bitwarden_rs)需要消耗大量系统资源,尤其是内存和数据库依赖。而 Vaultwarden(原 bitwarden_rs)是使用 Rust 语言重写的轻量级实现,完全兼容 Bitwarden 客户端,但资源占用极低。

对于 NAS 用户来说,Vaultwarden 的优势非常明显: - 内存占用通常在 100MB 以下,远低于官方版本的 2GB 以上 - 无需独立的数据库服务,默认使用 SQLite,部署简单 - 支持 Docker 一键部署,适合群晖、威联通等主流 NAS - 数据完全掌握在自己手中,不依赖第三方云服务

部署前的准备工作

在开始部署之前,你需要确认以下几点:

  1. NAS 支持 Docker(群晖 DSM 7.x、威联通 QTS 均支持)
  2. 有一个固定的域名或 DDNS 地址(用于 HTTPS 证书和远程访问)
  3. 准备一个用于反代的端口,例如 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 界面。首次访问时,你需要:

  1. 点击“创建账户”注册一个管理员账号
  2. 登录后进入“设置”页面,将 SIGNUPS_ALLOWED 环境变量改为 false 并重启容器
  3. 在“管理”页面中,可以配置 SMTP 邮件服务、两步验证等安全选项

配置 HTTPS 反向代理

为了保证密码数据在传输过程中的安全,必须配置 HTTPS。这里推荐使用 Nginx Proxy Manager(NPM)作为反向代理工具。

  1. 在 NPM 中新建一个 Proxy Host
  2. Domain Names 填入你的域名,例如 pass.your-domain.com
  3. Forward Hostname/IP 填入 127.0.0.1(或 NAS 内网 IP)
  4. Forward Port 填入 8080
  5. 开启 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 完全一致的客户端体验。现在,你可以放心地将所有账户密码交给它管理,享受自托管带来的安全与便利。记住定期更新容器镜像,并保持备份习惯,你的密码数据将万无一失。

💬 评论区
发表评论

暂无评论,来说两句吧