好吧,接着来~~
自从上一次分享了怎么用Nginx做内网域名映射并且使用SSL证书后
我们在这个基础上来点儿应用吧~~我们使用Docker部署自己的密码服务器~
PS:网上有免费的密码服务,不喜欢的前面左转。


首先是,我们来Google搜索一下~到底用什么方案呢


万能的Google让我们用Bitwarden

查了一下~Bitwarden的官方部署方式使用的是Docker-Compose
并且会创建出一堆不同的容器做不同的做用…简直跟微服务群有一拼~

那么有没有简单一些的方案呢
还真有~~


有一个东西叫做vaultWarden~这玩意儿基本上就是用RUST重写了Bitwarden的API~并且与之完全兼容,也完全兼容它的的客户端
而且两个东西都是开源的~足够靠谱


开始部署
我的环境还是Debian,并且使用了我习惯使用的MacVLAN,至于怎么创建MacVLAN可以翻查我之前的文章
然后把容器里面的data目录挂载出来~这里包含所有产生的数据~这个用于自动归档备份
docker run -d –name vaultWarden –net=DockerLAN –ip=192.168.114.200 -v /data/vaultWarden:/data –restart=always vaultwarden/server:latest
当然~不喜欢的话也可以用80端口映射
docker run -d –name vaultWarden -p 8080:80 -v /data/vaultWarden:/data –restart=always vaultwarden/server:latest



创建完了后就可以试试直接访问了
然后你会发现~原来是必须要用https来访问的~
那么好吧~我们之前不是教了怎么用Nginx + Let’s Encrypt做内网域名映射吗
照样画葫芦就可以了

就可以访问了
你的所有客户端还有浏览器插件都只需要指向到这个地址就可以实现调用密码服务器了

好了~下来是自动备份了
我们在你运行的Docker的机子上~可以看到你的数据挂载目录为/data/vaultWarden
我们假设你的备份目录为/backup/vaultWarden
我们编辑备份脚本~假设备份脚本放在/scripts目录下
vi /scripts/vaultwarden.bak.sh
#################内容如下############################
#!/bin/sh
holdData=3
date=$(date +%Y%m%d)
/bin/tar -czf /backup/vaultWarden/vaultwarden-${date}.tar.gz /data/vaultWarden/data
deleteFile=`find /backup/vaultWarden/ -type f -name “*.tar.gz” -mtime +${holdData}`
[ “${deleteFile}” != “” ] && /bin/rm ${deleteFile}
####################################################
使用chmod +x /scripts/vaultwarden.bak.sh赋予脚本运行权限
然后使用crontab -e
添加一个任务
0 5 * * * /bin/sh /scripts/vaultwarden.bak.sh
那么你的机子就会每天清晨5点钟对你的密码服务器的文件进行一次压缩备份
并且会保留今天往前数起3天的备份。

想知道关于MACVLAN可以浏览以前的文章

Docker+Portainer打造伪虚拟机服务器 Part.1(Portainer端)


如果想知道Nginx + Let’s Encrypt怎么弄可以浏览上一篇文章

[骚操作]用Nginx + Let’s Encrypt申请泛域名证书实现内网域名指向