创作立场声明:写这篇文章是为了让N1更好的为生活服务,充分发挥性能,零零散散的借鉴了一些方案,整合后尝试着部署,第一次发帖,如有不当,烦请多多斧正。
因为硬盘休眠的关系,就准备把所有的docker容器从群晖转移到另一个设备上去,LEDEX64插件试了一下一直有各种小问题,就想到了N1,从X86到ARM64也摸索了一阵。浏览器自带的密码管理,黄色底纹特别丑,手机还不方便,1password和LastPass有的功能还不能白嫖,就找了Bitwarden。Bitwarden是开源项目,在docker搭建数据都存在本地,更加安全,主要是免费!免费!免费! B站有ITCommand的教程,但是没做端口转发和SSL,学习了几个教程,部署完就分享给大家,笔者一直是白嫖怪,第一次发文,轻喷
1. N1刷入Armbian+Docker
N1降级帖子比较多,降级刷W大或者L大的固件,便于U盘引导启动,RUSH固件还要ADB。
安装Armbian5.77,给个恩山的帖子,恢复完ddbr就行了,方便快捷。
小白注意:按照帖子第一步将armbian 写入U盘后,armbian的登陆账号是root,密码是1234,恢复完ddbr后才是password,上传到ddbr的镜像无需解压,不然会提示找不到镜像。
2. 恢复完成后关机,拔掉U盘重新上电,就可以IP+9000访问docker管理面板了,openwrt用不到的可以删除
3. MobaXterm SSH登陆N1,在左边的root文件夹下新建一个bitwarden文件夹,打开建好的文件夹,在里面分别建立data和ssl两个文件夹。
用命令拉取镜像,也可以在portainer拉取,命令拉取更加直观,Bitwarden官方版本的数据库对内存有要求,这里我们用bitwarden_rs版本。拉取结束后会在Portainer镜像部分看到一个黄色标签unused的镜像。
docker pull mprasil/bitwarden:aarch64
4. 外网访问(只需内网的可以跳过看安装部分):许多大佬都是修改nginx的配置文件添加https访问,比较繁琐,我们换一个方法,申请一个域名,再去腾讯云申请免费的SSL证书,下载证书,我们要用到的是Nginx。
然后要合成pem证书,大佬们都是命令合成,这里给一个PEM在线合成网站。
分别上传,合成,重命名为certs.pem和key.pem,上传至刚才建好的ssl文件夹。
1. 进入Portainer面板-容器-添加容器,贴一下我的配置图,用命令部署,有网友会搞错参数。
映射80端口为5724端口,可以自定义。
2. 挂载目录点map additional volume,然后点Bind分别挂载两个的文件夹,还有一个localtime是为了统一为CST时区,方便看日志,Docker容器默认是UTC时区,自行考虑,我贴一下参数给不想打字的白嫖怪:
/root/bitwarden/data:/data
/root/bitwarden/ssl:/ssl
/etc/localtime:/etc/localtime
引号前面是宿主机目录,后面是容器目录,填的时候别填反了。
3. 环境变量配置,(内网用户可不配置),只要添加图上的最后一行,其他都是运行后生成的,括号别漏了,之前笔者就是漏了括号,参数不对,重启策略Always,然后启动容器,启动后会自行跳转。
ROCKET_TLS========{certs="/ssl/certs.pem",key="/ssl/key.pem"}
4. 路由器端口转发,笔者是公网IP,内网还需要内网穿透。
5. 完成后,浏览器https://+端口号访问应该就成功了,如果不成功,MobaXterm登陆到N1,装一下Nginx
sudo apt install nginx
6. 重启容器
1. 成功访问后正常注册,务必记住主密码,可以创立多个账户,家人一人一个。
2. 未设置SSL的网友可以用EDGE浏览器,IP+端口号访问注册,其他浏览器没有SSL证书不能注册,注册成功后可用其他浏览器使用。
3. 安装Chrome插件,官网也有其他浏览器,点击插件,不要立即登录,点左上角设置URL,https://地址+端口号或者http://地址+端口号,保存,登陆使用。申请SSL的网友不要两种混用,会影响同步,会报错。
部署整体比较容易上手,笔者在SSL部署上试了多条途径,群晖反向代理服务器、修改nginx配置文件,都没有成功,最后看了张大妈的另一篇帖子成功部署,使用体验还是很好的,家里人一个人一个账户,还可以查看密码,再也不怕爸妈忘记密码。目前N1里还部署了自动签到、Kindle推送、MQTT,全家桶里除了扫地机器人没下车,别的都下车了,刷了大佬们的固件都在服役。