群晖docker部署bitwarden搭建自己的密码库
市面上流行的密码方案比较多,LastPass、1password、Enpass、Keeper、Bitwarden都各有有点,但在开源免费方面Bitwarden应该是无人能及吧;Bitwarden对我这种白嫖佬来说全身都是有点,免费、速度快、体积小、数据自己保管、支持TOTP;同时Bitwarden还具有多种客户端,支持浏览器插件、手机app等,几乎能覆盖所有的应用环境;废话不多说,现在咱们就开始使用群晖的docker部署一款属于自己的密码库吧(注以下内容需要环境包括:公网IP、你会路由器端口映射、你有域名、你的域名有ssl;如果没有环境的话可以分项百度自行配置)。
bitwarden的搭建主要分为1. docker部署 2. 设置二级域名 3. 路由器端口映射 4. 群晖反向代理 5. bitwarden设置
一、Docker部署bitwarden
1. 首先打开群晖,打开file station,选中docker文件夹,新建文件夹取名为 bitwarden ;(名字其实无所谓爱用啥用啥)
2. 首先打开群晖docker,选中注册表,搜索vaultwarden,找到 vaultwarden/server
为什么要使用 vaultwarden/server 呢,因为 bitwardenrs/server 改名了~~~~~
3. 影响下载好以后选中映像,在映像中找到 vaultwarden/server ,双击进入配置,修改容器名称(随意修改,我一般用默认值),然后进入高级设置;
4. 高级设置中,首页有自动启动,开不开看你自己需求;然后选中 存储空间 ,添加文件夹,宿主机路径为刚刚创建的 docker/bitwarden , 容器路径一定要挂载 /data ;然后进入端口设置;
5. 进入端口设置,首先删除第一行设置,剩下一行设置如下,本地端口使用任意未被暂用的端口,
我这里作为演示使用16666 , 容器端口不变 保持 80 ;设置好后进入 环境 ;
6. 环境配置,环境配置可以配置注册是否开放,时区,邮件验证功能;
没有特殊需求设置SIGNUPS_ALLOWED 、 TZ 即可,设置如下:
# SIGNUPS_ALLOWED 控制注册是否开放,true开放注册,false关闭注册
可变:SIGNUPS_ALLOWED 值:true
# TZ 控制时区,默认时区是utc,TZ设置为 Asia/Shanghai 可以修改时区上海
可变:TZ 值:Asia/Shanghai
docker配置到这里基本上就能用了,下列几项配置,是因为我这边因为时区问题,手机app没法用谷歌验证器配置的totp登录,会提示我时区错误,所以我单独设置了邮件两步验证;
如果你谷歌验证器不会报时区错误的话,可以直接使用谷歌验证器,设置更简单,如果你使用Authy 或 Google Authenticator 的两步验证器,也提示存在时区错误的话,就可以配置邮件验证:
邮件验证需要配置 SMTP_PASSWORD、SMTP_USERNAME、SMTP_SSL、SMTP_PORT、SMTP_FROM、SMTP_HOST ;配置如下:
# SMTP_PASSWORD 我用的QQ邮箱,QQ邮箱有专用的smtp密码;
# SMTP_USERNAME 使用自己的QQ邮箱就可以了;
# SMTP_FROM 同上,使用自己的QQ邮箱就可以了;
# SMTP_SSL 使用SSL连接,值为true;
# SMTP_PORT smtp端口号,QQ邮箱smtp端口号是587;
# SMTP_HOST smtp主机,QQ邮箱smtp主机位 smtp.qq.com ;
7. 全部设置好以后,应用→下一步→应用
配置完毕以后把bitwarden容器运行起来,这个时候使用 [群晖ip:16666] 即可访问到bitwarden的登录页面了,但是应该是无法登录的,因此我们要开始这是反向代理。
二、二级域名设置
不同的dns服务商大同小异,我这里以 cloudflare 设置为例:
进入dns服务商,将顶级域名(比如:abc.com)的A记录指向群晖的公网IP,然后增加CNAME记录,设置二级域名为 vault ,内容为顶级域名 abc.com;
上述步骤设置好以后,我们进入路由器设置端口映射,这里正好说一个思路,群晖里面有很多套件跟docker都有自己的webui,他们都有不同的端口,我们可以在路由器里面映射一个特定的端口到群晖,然后群晖在根据二级域名设置反向代理,即可做到使用不同的二级域名控制不用的应用;
比如群晖路由器分配的ip地址为 192.168.1.100 ,我们用路由器映射一个端口 88 给群晖, 然后群晖设置来源为 vault.abc.com:88 , 目的地为 192.168.1.100:16666 的反向代理,设置好了以后,我们就可以通过 vault.abc.com:88 访问vault的webui了,而且这样省去了为每项应用配置ssl的过程,只需要在群晖控制面板→安全性→证书 里面添加证书,反向代理的其他webui全都能用了;
三、路由器端口映射
打开路由器,端口映射设置不限制来源,端口范围为 88 , 内网IP为192.168.1.100 , 本地端口为 88 ;
设置完后保存应用,进入下一步;
四、群晖反向代理设置
打开群晖控制面板,选中 应用程序门户 , 选中 反向代理服务器 ,按照下图以此设置:
上面设置中 启用hsts 启用http/2 选不选择都可以,看你心情;目的地协议 本地如果没有配置ssl的话 就可以直接用http即可;主机名 如果跟群晖同ip 可以直接使用localhost ,如果是其他ip 直接输入需要反代的ip即可;这里延伸出,群晖的这个功能 ,除了能给群晖的应用进行反向代理,还能给其他服务端下的应用进行反向代理,比如我路由器webui ip为192.168.1.1,我开启了共享,端口为80,就可以用群晖把特定的二级域名(比如router.abc.com:88),指向路由器ip,端口号80,这样我们就可以在外网用router.abc.com:88访问家里的路由器了。
群晖反向代理服务器,其实就是基于nginx的一个ui,如果有用其他nas的,可以直接配置nginx,也可以达到同样的效果;
群晖反向代理设置完成以后,就可以用 vault.abc.com:88 打开bitwarden的主页了;
五、bitwarden设置
1. 创建账号提交,创建后主要记住主密码,最好是用物理的方式保存好,比如写在笔记本上;
2. 注册完成以后登录进去,点击 设置 , 两步登录 (不设置也无所谓),这里推荐第一种或第四种,第一种是可以通过下载谷歌验证器或者微软的Authenticator,第四种直接使用邮箱来接收验证码。
3. 浏览器应用下载, 实测使用chrome或者edge、360浏览器、360急速浏览器可以直接在应用商店找到bitwarden应用(其他浏览器应该也有,但是我没用过,你需要自己找。),
进入扩展中心,搜索bitwarden,找到以后安装插件,插件安装好以后会在浏览器上显示,然后点击插件进行配置;配置只需要在设置→服务器URL里面填入反代以后的url 点击保存即可;
保存登录以后就即可正常使用拉;另外bitwarden抢眼功能,支持totp,在新建网页信息的时候,取得totp字符串,填入totp里面就可以使用totp功能了,赞~~~~
4. 手机app设置,先到手机下载bitwarden客户端,完成后打开app,你会发现跟前面图片一样,照着设置→保存→登录 即可使用。
bitwarden配置就到这里拉,里面的各项功能各位小伙伴可以根据需要自己设置,如果有设置不明白的话可以给我留言哟~~~
追加
修改
6. 环境配置,环境配置可以配置注册是否开放,时区,邮件验证功能;
内容里面的第二张图片
修改为