我曾经写过一篇关于如何使用Keepass的博客,但是其实写完之后没多久,我就放弃了Keepass而转投Lastpass,原因是在手机使用频率更高的今天,Keepass缺少一个美观实用的手机客户端。Lastpass用了几年后,又转投了开源的Bitwarden。今天,我打算在斐讯N1上自己搭建一个Bitwarden。
刷入Armbian
N1的降级以及刷各种系统的教程网上很多,随便一搜就能找到,这里不再赘述。我用的是恩山大神flippy制作的"Armbian buster with Linux 5.4.23-amlogic-flippy-28+o",可以在下面的链接里下载。
链接:https://pan.baidu.com/s/1hXrkbAoVpHy0yfOYIOtcRQ
提取码:sspy
这个版本自带Docker一键安装脚本,用以下命令把Docker先装好。
|
|
然后把Nginx安装上。
|
|
安装Portainer
给Docker安装一个可视化面板,操作起来更方便,不装也可以。
|
|
|
|
容器启动后,浏览器里输入"ip:9000"即可进入Portainer,第一次登录需要设置账号密码。
安装Bitwarden
现在开始安装Bitwarden,官方提供的Docker镜像比较笨重,所以我们选择这个使用Rust编写的第三方版本,bitwardenrs/server。
首先把镜像拉取到本地,选择适合N1的arrch64版本
|
|
然后启动运行一个容器。运行之后,在浏览器里输入“内网ip:8001”就可以访问Bitwarden的注册界面了,如果你只想在内网里使用,那基本上大功告成了。(8001随便设置)
|
|
外网访问
虽然之前也搭建过网站,但都是使用宝塔来操作的,比较无脑,所以也不会配置Nginx,对其背后的原理也是一只半解。一开始我还怕实现公网访问要费一番功夫,网上查了一些资料,发现如果家里的宽带有公网ip的话还挺简单的。判断是否具有公网ip可以通过以下方法:先用百度搜索ip,看看出来的结果与路由器wan口的ip是否一致,如果一致,说明是公网ip。
宽带有公网ip
有公网ip,非常简单。在路由器里设置端口转发即可。但是由于我的公网ip也不是固定的,每次重新拨号都会变化,所以还是需要设置一下,一种是使用路由器自带的DDNS,注册某个服务后得到的一个域名,无论ip怎么变化,这个域名都能访问家里的N1。但因为我有一个域名闲置着,所以用一下方法使用自己的域名。
首先在DNSPod里设置域名解析,然后在密钥管理里创建密钥。最后,借助Github上的DDNS实现定期更新域名解析到自己的公网ip。DDNS的二进制文件在Armbian上似乎无法运行,所以直接使用python版本,在定时任务脚本改动一下。
|
|
宽带无公网ip
如果没有公网ip,就需要准备一台虚拟主机了,暂时未做尝试, 待补充。
添加SSL证书
如果不添加ssl证书,在chrome浏览器里是无法创建帐户的,我用的是从腾讯云申请的免费证书。申请通过后,下载解压会得到几个文件夹,选择Nginx。把两个文件改个简单的名字。然后,删掉刚刚创建的容器,使用下面的命令再创建一次。
|
|
创建完成之后,使用MobaXterm(Windows)或者Royal TSX(macOS)把刚刚的两个文件上传到"/root/bitwarden/ssl/"文件夹下;放好之后,重启一次容器。现在再通过"https://域名:8001"来访问,尊贵的s就出现了。