Docker 玩法

飞牛NAS部署Vaultwarden:自建密码管理器

为什么要在飞牛NAS上自建密码管理器

在数字化生活日益复杂的今天,密码管理已经成为刚需。市面上的密码管理器虽然方便,但数据托管在第三方服务器上,总让人有些不放心。Vaultwarden 作为 Bitwarden 服务端的轻量级 Rust 实现,不仅兼容官方客户端,而且资源占用极低,非常适合部署在飞牛NAS上。自建之后,你的密码数据完全掌握在自己手中,配合飞牛NAS的存储阵列,还能获得额外的数据安全保障。

前期准备

在开始部署之前,请确保你的飞牛NAS满足以下条件:

  • 系统版本为 fnOS 最新版(建议 0.8.x 以上)
  • 已开启 Docker 服务(在应用中心安装 Docker 应用)
  • 预留至少 1GB 存储空间(容器镜像 + 数据卷)
  • 准备一个域名或公网 IP(用于 HTTPS 访问,可选但强烈建议)

第一步:创建数据目录

SSH 登录飞牛NAS,或直接在文件管理器中创建目录。推荐使用 SSH 方式操作,更加高效:

sudo mkdir -p /vol1/docker/vaultwarden
sudo chown -R 1000:1000 /vol1/docker/vaultwarden

这里的 /vol1 是飞牛NAS的默认存储池路径,如果修改过存储位置,请对应调整。设置 1000:1000 权限是为了匹配容器内非 root 用户运行,提升安全性。

第二步:编写 Docker Compose 配置

/vol1/docker/vaultwarden 目录下创建 docker-compose.yml 文件:

cd /vol1/docker/vaultwarden
nano docker-compose.yml

写入以下内容:

version: '3.8'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      - DOMAIN=https://your-domain.com  # 改为你的域名
      - SIGNUPS_ALLOWED=true           # 初始允许注册,配置完成后改为 false
      - WEBSOCKET_ENABLED=true         # 启用 WebSocket,用于实时同步
      - ADMIN_TOKEN=your_secure_admin_token  # 生成一个随机字符串作为管理令牌
      - DATA_DIR=/data
    volumes:
      - /vol1/docker/vaultwarden:/data
    ports:
      - "8080:80"    # HTTP 端口映射
      - "3012:3012"  # WebSocket 端口映射

保存并退出。在正式部署前,执行 openssl rand -base64 48 生成一个强随机令牌替换 your_secure_admin_token

第三步:启动容器

/vol1/docker/vaultwarden 目录下执行:

docker-compose up -d

等待镜像拉取并启动,大概需要几分钟时间。启动完成后,使用 docker ps 查看容器状态,确认 STATUSUp 状态。

第四步:配置反向代理(可选但推荐)

为了安全访问,建议通过飞牛NAS自带的 Nginx 进行反向代理。在飞牛NAS的 Web 管理界面中,进入「控制面板」-「应用程序」-「反向代理」,添加一条新规则:

  • 外部访问端口:443(或自定义端口)
  • 目标地址:localhost:8080
  • 开启 HTTPS 并配置 SSL 证书

如果使用飞牛NAS自带的 DDNS 服务,可以申请免费的 Let's Encrypt 证书。这样以后就可以通过 https://your-domain.com 安全访问密码管理器了。

第五步:初始化设置

完成反向代理配置后,打开浏览器访问你的域名。首次打开会看到注册页面:

  1. 点击「创建账户」,填写邮箱和主密码。注意主密码一定要足够复杂,因为这是你的唯一访问凭证,一旦丢失无法恢复。
  2. 注册完成后,立即登录管理后台(/admin 路径),将 SIGNUPS_ALLOWED 环境变量改为 false 并重启容器,防止他人恶意注册。
  3. 在管理后台中,可以设置SMTP邮件服务(推荐使用飞牛NAS的邮件推送功能),方便密码找回和账号验证。

第六步:安装客户端

Vaultwarden 完全兼容 Bitwarden 官方客户端。你可以从以下渠道安装:

  • 浏览器插件:Chrome/Firefox/Edge 商店搜索 Bitwarden
  • 移动端:App Store / Google Play 搜索 Bitwarden
  • 桌面端:官网下载对应系统版本

安装完成后,在登录界面选择「自托管」选项,填入你的服务器地址,即可正常使用。

安全加固建议

部署完成后,建议进行以下安全设置:

  1. 开启两步验证(2FA):在网页端设置中启用,推荐使用 TOTP 或 YubiKey。
  2. 定期备份数据:将 /vol1/docker/vaultwarden 目录纳入飞牛NAS的定时备份任务。
  3. 启用 Fail2ban:在宿主机上安装 Fail2ban 监控容器日志,自动封禁暴力破解IP。
  4. 更新镜像:每隔 1-2 周执行 docker-compose pull && docker-compose up -d 更新到最新版本。

数据迁移与备份

如果之前使用过其他密码管理器,可以通过 Bitwarden 的网页端导入功能,支持从 Chrome、Edge、1Password 等工具导出的 CSV 文件。建议每季度手动导出一次加密备份,存储在飞牛NAS的其他目录或外部硬盘上。

结语

在飞牛NAS上部署 Vaultwarden 是一个性价比极高的选择。整个流程简单直接,配置好之后几乎零维护成本。你不仅获得了完全掌控的密码管理方案,还充分利用了NAS的存储和备份能力。现在,你可以彻底告别记密码的痛苦,也无需担心第三方服务的隐私问题。赶紧动手部署一个,给数字生活加上一把可靠的锁吧。

💬 评论区
发表评论

暂无评论,来说两句吧