飞牛NAS部署Vaultwarden:自建密码管理器
为什么要在飞牛NAS上自建密码管理器
在数字化生活日益丰富的今天,密码管理已经成为每个NAS用户的刚需。市面上的密码管理器虽然方便,但云端存储始终存在隐私泄露的隐忧。Vaultwarden(原bitwarden_rs)作为一款轻量级的Bitwarden兼容服务器,用Rust语言编写,内存占用极低,功能却毫不缩水——支持组织共享、两步验证、附件存储等高级特性。把它部署在飞牛NAS上,你就能拥有一个完全自主可控的密码保险库,数据只存在于你的硬盘中。
前期准备
在开始部署前,请确保你的飞牛NAS满足以下条件:
- 系统版本为fnOS 0.8.1或更高
- 已安装Docker应用(可在应用中心一键安装)
- 已为NAS配置好域名或DDNS(用于HTTPS访问)
- 预留至少1GB磁盘空间(数据库+附件存储)
第一步:创建数据目录
打开飞牛NAS的文件管理器,在Docker数据目录下创建Vaultwarden的持久化文件夹。推荐使用以下结构:
/docker/vaultwarden/
├── data/ # 主数据库存储
├── attachments/ # 附件文件
└── icons/ # 网站图标缓存
在终端或SSH中执行:
mkdir -p /vol1/docker/vaultwarden/{data,attachments,icons}
chmod -R 755 /vol1/docker/vaultwarden
第二步:编写Docker Compose配置
飞牛NAS的Docker界面支持Compose编排。在/vol1/docker/vaultwarden/目录下创建docker-compose.yml文件:
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
# 数据持久化路径
DATA_FOLDER: /data
ATTACHMENTS_FOLDER: /attachments
ICON_CACHE_FOLDER: /icons
# 安全配置(务必修改为强密码)
ADMIN_TOKEN: '你的管理密码HASH'
SIGNUPS_ALLOWED: 'true' # 首次注册后改为false
# 域名与HTTPS配置
DOMAIN: 'https://vault.你的域名.com'
WEBSOCKET_ENABLED: 'true'
# 数据库优化(可选)
DB_CONNECTION_RETRIES: 15
volumes:
- ./data:/data
- ./attachments:/attachments
- ./icons:/icons
ports:
- "8080:80" # 主服务端口
- "3012:3012" # WebSocket端口
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80/alive"]
interval: 30s
timeout: 3s
retries: 3
注意:ADMIN_TOKEN需要生成HASH值,使用命令:
echo -n "你的超强管理密码" | openssl dgst -sha256
将输出结果填入配置中。
第三步:启动Vaultwarden容器
在飞牛NAS的Docker界面,选择「项目」标签页,点击「新建项目」,将上述Compose内容粘贴进去,指定项目路径为/vol1/docker/vaultwarden,点击部署。等待拉取镜像并启动,约1-2分钟。
验证运行状态:
docker logs vaultwarden | tail -20
看到 HTTP server listening on http://0.0.0.0:80 即表示启动成功。
第四步:配置反向代理与HTTPS
飞牛NAS自带Nginx反向代理功能。进入「控制面板」→「反向代理」,添加新规则:
- 名称:vaultwarden
- 来源协议:HTTPS
- 来源域名:vault.你的域名.com
- 目标协议:HTTP
- 目标地址:192.168.x.x(NAS局域网IP)
- 目标端口:8080
同时需要在路由器上开放443端口并映射到NAS。如果你使用Cloudflare,可以开启Full (Strict) SSL模式。
第五步:初始化与安全加固
- 浏览器访问
https://vault.你的域名.com,首次打开会显示注册页面。 - 注册你的管理员账号(请使用强密码,建议16位以上)。
- 注册完成后,立即将Compose配置中的
SIGNUPS_ALLOWED改为false,然后更新容器。 - 进入管理后台
https://vault.你的域名.com/admin,输入你在ADMIN_TOKEN中设置的管理密码。 - 在管理后台中,建议关闭「注册邀请」功能,开启「两步验证强制使用」。
使用与客户端接入
Vaultwarden完全兼容Bitwarden官方客户端。在手机应用商店搜索「Bitwarden」,电脑端访问 https://vault.bitwarden.com 下载桌面版。
客户端配置方法:
- 打开客户端设置,找到「服务器URL」选项
- 填入你的Vaultwarden地址:
https://vault.你的域名.com - 登录账号即可同步数据
建议在浏览器安装Bitwarden扩展插件,实现自动填充密码的便捷体验。飞牛NAS的浏览器插件同样支持自定义服务器地址。
数据备份策略
密码数据不容有失,建议启用以下备份方案:
- 每日自动备份:在飞牛NAS的任务计划中添加脚本,将
/vol1/docker/vaultwarden/data目录打包备份到其他存储池或移动硬盘。 - 快照保护:在飞牛NAS的文件管理器中,对
/vol1/docker/vaultwarden目录开启Btrfs快照,设定每小时保留一个版本。 - 异地同步:如果NAS支持,可将备份文件夹同步到另一台NAS或云盘(注意加密)。
总结
通过以上六个步骤,你已经成功在飞牛NAS上部署了Vaultwarden密码管理器。整个过程无需复杂的命令行操作,利用飞牛NAS的图形化界面和Docker Compose就能轻松完成。相比商业密码管理服务,自建方案不仅数据完全私有,还省去了每年几十美元的订阅费用。Vaultwarden的轻量特性使其在NAS上长期运行几乎不占资源,而兼容Bitwarden客户端的设计也让迁移成本降到最低。现在,你的密码安全已经牢牢掌握在自己手中了。
暂无评论,来说两句吧