家庭服务器搭建vaultwarden(二)

本文最后更新于:2 年前

前言

在上一篇文章中,我们讲到了如何搭建vaultwarden的服务端。在这篇文章中,我将教大家实现一个进阶玩法,那就是定时备份。不过在此之前,我插一句嘴:

其实上次的docker-compose.yml,可以简写为以下形式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: "3"
services:
vaultwarden: # 容器名,可以改
image: "vaultwarden/server:latest"
restart: unless-stopped
volumes:
- /vw-data/:/data/ # 前面的是服务器的目录,后面的是容器内部的
environment:
SIGNUPS_ALLOWED: false # 禁止其他人注册
WEBSOCKET_ENABLED: true # 开启自动同步
INVITATIONS_ALLOWED: true # 开启邀请注册
ADMIN_TOKEN: xxxxxx # 自己生成

nginxpm: # 容器名,可以改
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '10042:80'
- '10041:81'
- '10043:443'

把两个镜像的拉取和容器的启动合二为一,节省了不少麻烦的操作。

注意:第一次创建vaultwarden容器时还是要用图形化界面创建,只有创建完你的用户名和密码后,才能用上述的yaml文件启动。

其实有了宝塔面板,定时备份很简单。利用软件商店里面的插件,我们可以把密码数据库同步到公有云,也可以同步到私有云。下面,听我细说!

备份到公有云

这里以腾讯云的COS为例(其实是因为去年双十一只花了1元就买了50G容量,约等于白嫖,不用白不用)。

先登录腾讯云,实名认证后在“云产品”下拉框中选择“对象存储”:

创建存储桶

购买相应套餐后创建存储桶:

最后点“创建”即可。

创建子用户

接着打开”云产品“-“访问管理”-“用户”-“用户列表”,新建一个子用户,类型选“自定义创建”:

在策略中,我们只需要选择一个权限QcloudAccessForCOSBatchRole,这样这个子用户就只能操作COS相关的资源,不会影响到账号内的其他服务:

用户标签可以不创建,把生成的SecretIdSecretKey保存下来,并复制到宝塔插件中。

设置插件

首先要在宝塔面板的“软件商店”中搜索并下载“腾讯云COS”插件,这里就不演示了。设置图示如下:

设置自动备份

最后,在宝塔面板左侧栏的“计划任务”中设置定时自动备份:

OK,大功告成了!当然,自动备份的时间也是可以修改的。

备份到私有云

有些师傅可能会担心:备份到公有云,还是不太放心,而且还是国内的公有云(懂得都懂)。如果你恰巧财力雄厚,你可以考虑购买一台nas服务器,如果有的话当我没说。这里我以群晖的nas服务器为例,现在我们登录进web管理页面,打开“控制面板”-“文件服务”-“FTP”,开启FTP服务:

下面的SFTP服务也可以打开

创建专用账户

点左侧的“用户与群组”-“用户账号”-“新增”,为FTP服务专门创建一个账号:

下一步只需要授予备份文件夹(需要在“共享文件夹”里单独创建)的可读写权限,其它的全部选“禁止访问”,由于个人隐私原因我就不截图了,其它选项按个人情况选择。应用程序的访问权限,只需要允许FTP和SFTP的:

SFTP忘记画箭头了

设置插件

其它选项确认无误后,可以点击完成了。去宝塔面板的“软件商店”中搜索并下载“FTP存储空间”插件,按下图所示设置:

用户名填刚才创建的,IP填局域网的

定时自动备份的设置方法和上面公有云的类似,这里就不多说了。

常见问题

如果你的vaultwarden出现了问题,删除容器后重新创建多少次也没用,那么建议你先清理一下无用的存储卷等,具体可参考文章:https://note.qidong.name/2017/06/26/docker-clean/

如果还是有问题,那可能就是镜像源的问题了。在宝塔面板中进入docker设置页面,加速URL可设置为:

1
2
3
4
5
{
"registry-mirrors": [
"https://mirror.baidubce.com"
]
}

再执行命令systemctl daemon-reloadsystemctl restart docker(CentOS系统)重启docker服务。修改过后再打开vaultwarden的web页面,我惊喜地发现网页的图标变了,看来可能确实是镜像源的问题。

总结

在这篇文章中,我教大家实现了密码数据库的自动备份,为数据安全又多加了一层保障。同样的,这种方法也适用于网站和个人博客的备份。

关于自建密码管理器服务器的教程到这里也就暂时告一段落了,如果还有什么疑问或者技术上的问题,欢迎在评论区留言,我会尽量帮助你们。在这里给各位师傅拜个早年了!


家庭服务器搭建vaultwarden(二)
https://rookieterry.github.io/2023/01/09/家庭服务器搭建vaultwarden(二)/
作者
HackerTerry
发布于
星期一, 一月 9日 2023, 11:11 晚上
许可协议