大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享自己的数码玩耍经验~
前言
NAS除了为我们提供海量的文件存储、影音存储外,还能为我们提供很多自托管的服务,比如最实用和刚需的自托管密码存储服务。在目前主流的1Password、KeePass、KeeWeb、LessPass、Bitwarden等密码管理服务中,KeeWeb和Bitwarden三方服务是使用最多的。
KeeWeb由于长期没有更新,目前还停留在2021年版本,因此不再建议使用。而Bitwarden的社区开源版本——VaultWarden,是目前最推荐的自托管密码服务应用。
Vaultwarden 是一个使用 Rust 编写的非官方 Bitwarden 服务器实现,它与官方 Bitwarden 客户端兼容,非常适合不希望运行官方的占用大量资源的自托管部署,尤其适合个人、家庭和小型组织使用。
项目特性:
- 兼容性:Vaultwarden 完全兼容官方 Bitwarden 客户端,这意味着用户可以无缝地在 Vaultwarden 自托管服务器和官方客户端之间切换。
- 轻量级:相比于 Bitwarden 官方服务器,Vaultwarden 对硬件的要求极低,即使在只有512M内存的 VPS 上也能轻松运行。
- 安全性:Vaultwarden 采用了先进的加密技术,保护用户的密码免受黑客攻击,并且支持自托管,用户可以将自己的数据存储在个人控制的服务器上。
- 多平台支持:Vaultwarden 支持多种操作系统和设备,包括 Windows、macOS、Linux、iOS 和 Android,实现密码的跨平台管理。
- 功能丰富:Vaultwarden 实现了大多数 Bitwarden API 所需的功能,包括网页界面、个人金库、组织保险库、密码分享和访问控制、文件附件、文件夹、网站图标、Bitwarden Authenticator (TOTP)、Bitwarden Send、紧急访问、实时同步(仅限 WebSocket)等。
- 数据同步:Vaultwarden 支持数据实时同步功能,确保在多客户端上密码数据能够实时更新。
- 备份与更新:用户需要定期备份数据,并保持 Vaultwarden 的更新以确保软件的安全性和稳定性
部署机介绍
本期教程依旧选择极空间Z423标准版为例,极空间Z423标准版采用R5 5625U处理器,6核12线程,最高支持64GB DDR4 3200Mhz内存,性能强劲,足以满足各式各样的虚拟机、容器、服务使用,可以说是新人入手即养老。
其实在NAS选择上,cherry一直提倡的都是按需购买。极空间Z423标准版和旗舰版其实都算是NAS内的硬件天花板了,所以价格都偏高。如果我们不需要那么高的性能,甚至不需要4盘位NAS,那完全可以考虑Z2 Pro,甚至900不到的Q2C,体验入门即养老的极致NAS使用感受。目前,网络存储的国补依旧能领,所有NAS立减15%,可谓是错过就不再了。
一、部署系统
1、下载/导入镜像
有求于vaultwarden使用必须使用https协议,所以除了vaultwarden本体镜像外,还需要配合lucky、npm等第三方的反代应用。
如果网络好的可以直接下载镜像vaultwarden/server:latest
,gdy666/lukcy:latest
两个镜像。网络不好的可以下载网盘里的镜像包,然后上传到极空间中,并通过镜像-本地镜像-导入镜像-从极空间导入。
阿里云盘:https://www.alipan.com/s/JoTWUCP8yc6
夸克网盘:https://pan.quark.cn/s/b53da038d402
2、部署vaultwarden
镜像下载/导入完成以后,选择镜像并添加到容器,或双击生成容器。
正常使用vaultwarden,建议大家关闭性能限制,以确保容器能获得更多的性能支持。
【文件夹路径】:极空间会内置一个/data
路径,选择后点击编辑去映射实际路径。
在常用的docker目录下新建一个文件夹,取名vaultwarden,然后进入目录后点确认。
我们把NAS的/SATA存储11/docker/vaultwarden
映射到容器的/data
目录里,最终参考图如下。
【端口】:极空间会自动展示容器端口为80的这行,因此我们本地端口随便填入一个不冲突端口即可。注意,这个本地端口不是最终的使用端口,仅仅是需要在lucky中转换使用的。
3、部署lucky
lucky镜像下载后,也使用同样的方法添加容器。
路径的话新增一个lukcy
文件夹作为映射。
最终映射目录如下,我们把NAS的/SATA存储11/docker/lucky
映射到容器的/goodluck
目录里。
【网络】:重头戏,为了确保后续lucky服务开放更顺畅,建议大家将bridge改为host模式。
点击更换,在新页面中选择host确认并部署容器。
4、设置远程服务
至此,我们已经完成vaultwarden和lucky项目的部署,vaultwarden是作为服务端使用,我们不需要访问web端。
接下来,我们需要在lucky中设置反代,来将http协议转换为https协议。这里建议使用极空间内置的远程访问服务,新建一个链接,输入lucky的地址127.0.0.1:16601
保存。
二、使用指南
1、配置lucky端的DDNS(可选)
由于极空间的DDNS功能还在外测,所以我们可以通过lucky内置的DDNS服务,将NAS的ip动态解析到域名中。登录lucky,使用默认账号密码666/666
登录。
在左侧选择动态域名—添加任务,然后选择自己域名所在的DNS服务商,填入相应的token和域名地址。在lucky中,DDNS域名支持通用域名和二级域名,每一行填一个。
配置完域名DDNS以后,我们还需要给域名加上SSL证书,实现https安全访问。点击左侧的SSL/TLS证书—添加证书。
如果在DNS服务商申请了证书,那么可以直接上传。否则添加方式修改为ACME,选择Let‘s Encrypt,然后填写验证方式验证并保存。
完成后,会生成一条SSL/TLS证书记录,后续lucky会自动续签证书。
2、配置lucky反代
接着,我们来将vaultwarden的http协议服务转换为https协议。点击左侧的Web服务,新增一个任务计划,名字自己定义即可。
配置参考图片,主要选择网络(IPv4IPv6),勾选TLS,其它都可以保持默认不管。
当前页面下拉,下方有一个子规则,在这里的前端地址填入我们准备好的域名,后端地址则填写【NASip:端口】,这里的端口就是我们前面创建vaultwarden时候映射的端口。
3、注册VaultWarden账号
登录vaultwarden网页,或者通过浏览器插件进入主页。我们注册一个账号作为管理员账号。
接着在web、浏览器插件、手机app中使用该账号登录,实现密码同步。
4、安装Bitwarden插件
之前提到,vaultwarden其实是bitwarden的三方版本,所以它从开发之初就是兼容bitwarden的全部软件和插件的。
一般常用的包含浏览器插件以及手机app来实现密码保存。浏览器插件我们可以从官方下载:bitwarden.com/download
。
插件安装完成后,可以在浏览器上方插件栏找到了。打开插件,在账号登录处下方的蓝字处,点击一下并选择自托管。
在自托管环境中,输入vaultwarden的URL信息保存。再次提醒,这里的端口是lucky反代以后的端口,不是我们创建vaultwarden容器时候映射的端口。
5、手机端展示
手机端以IOS为例,在商城下载Bitwarden应用后,登录并配置密码信息。手机APP除了支持常规的密码保存、填充外,还支持密码生成、2FA管理等功能。
最后
本次我们使用了lucky+vaultwarden的组合,在极空间私有云上自托管部署一套超好用的跨平台的密码管理工具。在部署过程中,最折腾的部署其实就是http协议转换为https协议,也就是我们常说的反代,这一点目前在极空间私有云上还没有单独的功能模块。
不过随着极空间DDNS、SSL(webdav、ftp)等功能的OTA推送,其web服务的基础框架已经越来越成型,保不准哪天就添加SSL(web服务)和反代的功能,值得期待。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,