Vaultwarden(原Bitwarden_RS)自建密码库教程-Docker部署安装方法及绑定域名配置Https证书

自从用了Bitwarden_RS自建了密码管理系统后,发现密码管理软件真的是相当好用,后来又写了一篇文章密码管理软件整理汇总,将市面上流行的密码管理软件和工具都用了一遍,有些密码管理软件是免费的,但是最大的问题就是无法同步,我们可以用第三方WebDAV来解决。

有些密码管理软件是付费的,付费的有个好处就是各项功能都具备,缺点就是价格贵。所以,如果你有一台VPS主机,自建密码管理系统是最合适不过了。不仅价格便宜,且还可以实现多人共享,根本不需要担心安全问题。目前用于建的密码管理系统推荐Vaultwarden。

Vaultwarden,也就是原来的Bitwarden_RS,前一段时间发现Bitwarden网页登录正常但是所有浏览器扩展客户端提示账号和密码错误的问题,原来Bitwarden_RS早在2021年8月就已经更名为Vaultwarden,将Docker镜像替换为Vaultwarden就可以解决问题了。

vaultwarden_00-680x366-1

这篇文章就来分享一下Vaultwarden的安装与使用方法,其实整个安装步骤和Bitwarden_RS是一样的,只不过换了一下名称而已。

一、安装Docker环境

网站:

  1. https://github.com/dani-garcia/vaultwarden

1.1 准备VPS主机

Docker需要VPS运行,现在的VPS主机基本上也是白菜价了,有关于VPS主机评测查看:VPS主机排行榜单。

1.2 Docker环境

有了VPS主机,现在你就可以需要在VPS主机上配置好Docker环境,这里有一个一键安装Docker环境的命令,配置起来非常地简单:Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源。

1.3 准备一个域名

Vaultwarden需要使用Https访问,所以你还需要提前准备一个域名,域名注册参考:域名服务。当然,免费的域名也是可以的,见:免费eu.org域名和免费域名.tk,.ml,.ga,.cf,.gq。

二、Vaultwarden安装

2.1 安装运行

使用以下命令安装Vaultwarden:

docker pull vaultwarden/server:latest

使用以下命令运行Vaultwarden:

docker run -d --name vaultwarden -v /bw-data/:/data/ -p 8880:80 vaultwarden/server:latest

或者你也可以使用以下命令配置是否允许注册,是否记录日志,是否开启通知:

docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=true \
-e WEBSOCKET_ENABLED=true \
-e LOG_FILE=/data/vaultwarden.log \
-p 8880:80 \
-p 3012:3012 \
-v /bw-data/:/data/ \
vaultwarden/server:latest

Vaultwarden运行的参数还有非常地多:

docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e INVITATIONS_ALLOWED=false \
-e ADMIN_TOKEN=step2_generated_token \
-e ROCKET_TLS='{certs="/data/xxx.crt",key="/data/xxx.key"}' \
-e DOMAIN=https://bwh.vioe.cc/ \
-e LOG_FILE=/path/to/log \
-e LOG_LEVEL=warn -e EXTENDED_LOGGING=true \
-e DATA_FOLDER=/path/to/data/folder \
-p 443:80 \
-v /path/to/host/ssl/:/path/to/docker/ssl/
-v /path/to/host/data/folder:/path/to/docker/data/folder \
vaultwarden/server:latest

相关说明如下:

SIGNUP_ALLOWED:是否允许注册
INVITATIONS_ALLOWED:是否允许组织邀请注册
ADMIN_TOKEN:用户管理界面 (/admin),可用于删除用户及邀请用户注册
# 用于在docker里面生成ADMIN_TOKEN
# docker exec -it vaultwarden /vaultwarden hash
ROCKET_TLS:ssl 证书信息,同时需要配置 -v /path/to/host/ssl/:/path/to/docker/ssl/ 卷,前者为宿主机 ssl 证书的位置,后者为容器证书位置
DOMAIN:域名
LOG_FILE、LOG_LEVEL、EXTENDED_LOGGING:日志保存文件路径以及日志等级定义
DATA_FOLDER:docker 容器数据保存文件夹(默认为 /data),除了定义这个文件夹之外,还可以定义附件、图标缓存、数据库等参数
DATABASE_URL:数据库路径
ATTACHMENT_FOLDER:附件路径
ICON_CACHE_FOLDER:图标缓存路径

Vaultwarden所有的数据都是在目录bw-data下。

vaultwarden_04-680x366-1

2.2 停止开启

使用以下命令可以停止Vaultwarden运行:

docker stop vaultwarden
docker start vaultwarden

2.3 禁止注册

为了保证Vaultwarden服务器的稳定,你可以禁止Vaultwarden注册新用户(这一项可以放在最后,否则你自己都无法注册了)。

docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e WEBSOCKET_ENABLED=true \
-e LOG_FILE=/data/vaultwarden.log \
-p 8880:80 \
-p 3012:3012 \
-v /bw-data/:/data/ \
vaultwarden/server:latest

2.4 发送邮件

如果你的Vaultwarden是多用户使用的话,那么你可以配置一下SMTP发邮件了(免费的SMTP邮局:国内外企业(域名)邮箱汇总),参考如下:

docker run -d --name vaultwarden \
-e SMTP_HOST=<smtp.domain.tld> \
-e SMTP_FROM=<[email protected]> \
-e SMTP_PORT=587 \
-e SMTP_SSL=true \
-e SMTP_USERNAME=<username> \
-e SMTP_PASSWORD=<password> \
-v /bw-data/:/data/ \
-p 80:80 \
vaultwarden/server:latest

三、配置Https证书

3.1 设置域名

首先,将你的域名解析到Vaultwarden服务器IP地址。

vaultwarden_01-680x366-1

3.2 反向绑定

你可以使用Nginx等反向绑定域名,这里我们使用Docker平台上的Nginx反向绑定域名管理工具,操作简单方便。首先按照教程安装好:Nginx反向绑定域名管理工具-无需修改Nginx规则一键添加反向绑定域名。

进入到系统,在SSL那一项添加你想要绑定的域名,输入你的域名DNS解析商的API,完成签发SSL证书。

vaultwarden_05-680x366-1

然后就是进入到系统点击添加绑定域名。

vaultwarden_06-680x366-1

添加你的域名,填写你的服务器IP地址和端口,这个端口就是刚刚我们安装Vaultwarden时设置的。

vaultwarden_07-680x366-1

在绑定域名SSL处选择你刚刚已经为你的域名申请成功SSL证书的域名。

vaultwarden_08-680x366-1

完成后,现在你就可以使用域名访问到Vaultwarden了。

vaultwarden_09-680x366-1

四、Vaultwarden使用

首次使用Vaultwarden,你需要先注册一个账号。

vaultwarden_10-680x366-1

这个就是Vaultwarden的用户界面了,和Bitwarden_RS是一样的。

vaultwarden_11-680x366-1

Vaultwarden支持各大浏览器扩展、手机APP和桌面客户端,详细使用见:Bitwarden自建密码存储系统图文教程。

vaultwarden_12

五、Vaultwarden升级

Vaultwarden升级命令如下:

# 重新拉取镜像
docker pull vaultwarden/server:latest
# 停止原容器
docker stop vaultwarden
# 删除原容器
docker rm vaultwarden
# 重新运行 docker run 命令
docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e WEBSOCKET_ENABLED=true \
-e LOG_FILE=/data/vaultwarden.log \
-p 8880:80 \
-p 3012:3012 \
-v /bw-data/:/data/ \
vaultwarden/server:latest
# 查看镜像文件
docker image ls
# 删除原镜像文件,
docker image rm $ID

容器操作命令如下:

# 启动容器
docker start $name
# 停止容器
docker stop $name
# 删除容器
docker rm $name
# 查看运行容器
docker ps -as

 

阅读剩余
THE END