介绍

BitwardenRS是一个开源的密码管理器,它可以让你在自己的服务器上搭建和运行自己的Bitwarden密码管理服务。它提供了强大的加密功能,可以安全地存储和管理各种登录凭据。使用BitwardenRS,你可以方便地访问和使用密码,并保护你的个人信息的安全。

本文将引导读者通过在腾讯云Lighthouse服务器docker compose部署BitwardenRS。

准备工作

安装docker

  • 一键安装脚本!Linux系统都支持!
1
2
3
4
# 官方源
curl -sSL https://get.docker.com/ | sh
# Azure源(中国区azure)
curl -fsSL https://get.docker.com | bash -s docker --mirror AzureChinaCloud
  • 启动服务
    1
    2
    3
    4
    #启动Docker
    systemctl start docker
    #开机启动
    systemctl enable docker

安装

本次使用的是vaultwarden镜像。
vaultwarden优点:资源占用少,减少服务器负担。

1.创建目录

1
mkdir -p ~/bitwardenrs

2.创建配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#apth: ~/bitwardenrs/docker-compose.yml
cat > ~/bitwarden/docker-compose.yml<<EOF
version: '3'

services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
# environment: # 以下为可选配置,以qq邮箱为例
# - SMTP_HOST=smtp.qq.com # 邮箱服务器地址
# - SMTP_FROM=xxxx@qq.com # 发件人
# - SMTP_PORT=587 # 邮箱服务器端口
# - SMTP_SECURITY=starttls # 邮箱服务器安全协议
# - SMTP_USERNAME=xxxxx@qq.com #邮箱账号
# - SMTP_PASSWORD=xxxxx #邮箱密码
# - DOMAIN=https://xx.xxx.xxx #域名
ports:
- "3013:80"
volumes:
- ./data:/data
EOF

以上配置文件为最简配置,如果需要配置邮箱,可以取消注释并修改相应配置。

配置好邮箱后,登录时会有邮件通知。

qq邮箱密码需要使用授权码,路径: 登录mail.qq.com设置—>账号—>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务具体参考下图:

bbd8464a8ff29d57fb89b.png

以上配置文件为最简配置,如果需要增加配置,可以参考官方文档

3.启动服务

1
2
#path: ~/bitwardenrs
docker-compose up -d

617558af5e93a79f2ef02.png

4.配置nginx反代

nginx安装可以参考官方文档,或我的OpenResty安装教程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#path: /etc/nginx/conf.d/bitwarden.conf
upstream vaultwarden-default {
zone vaultwarden-default 64k;
server 127.0.0.1:3013;
keepalive 2;
}

# Needed to support websocket connections
# See: https://nginx.org/en/docs/http/websocket.html
# Instead of "close" as stated in the above link we send an empty value.
# Else all keepalive connections will not work.
map $http_upgrade $connection_upgrade {
default upgrade;
'' "";
}

# Redirect HTTP to HTTPS
server {
listen 80;
listen [::]:80;
server_name cloud.tencent.com; # 修改为你的域名

if ($host = cloud.tencent.com) { # 修改为你的域名
return 301 https://$host$request_uri;
}
return 404;
}

server {
listen 443 ssl ;
listen [::]:443 ssl;
server_name cloud.tencent.com; # 修改为你的域名

# Specify SSL Config when needed
ssl_certificate /etc/nginx/conf.d/ssl/cloud.tencent.com_bundle.crt;
ssl_certificate_key /etc/nginx/conf.d/ssl/cloud.tencent.com.key;
access_log /var/log/nginx/bitwarden.log main;


client_max_body_size 525M;

location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_pass http://vaultwarden-default;
}

}

ssl证书申请可以参考:腾讯云免费证书申请

cloud.tencent.com替换为你的域名。

把申请到的nginx证书放到/etc/nginx/conf.d/ssl/目录下。并修改配置文件中的证书路径。

  • cloud.tencent.com_bundle.crt 证书文件
  • cloud.tencent.com.key 私钥文件
1
2
3
4
...
ssl_certificate /etc/nginx/conf.d/ssl/cloud.tencent.com_bundle.crt; # 修改为你的证书文件名
ssl_certificate_key /etc/nginx/conf.d/ssl/cloud.tencent.com.key; # 修改为你的私钥文件名
...

执行nginx -s reload使配置生效。

5.访问

访问你设置的域名,即可看到BitwardenRS的登录界面。

3a5e425522498086c420f.png

注册账号,登录即可使用。

6.配置2FA

2FA是一种双重验证机制,可以增加账号的安全性。

设置—>安全—>双重验证中,可以设置2FA。

75373e4f04699ea89db9e.png

使用

具体支持的客户端可参考:官方文档

本文以Microsoft Edge浏览器为例。插件地址:Microsoft Edge bitwarden

安装插件后,点击插件图标,修改为自托管。

322cea993131b51f1ed01.png

服务器URL填写你的域名,点击保存即可登录使用。

0a7652d8d19a2828a8f43.png

可根据你的需求设置自动锁定时间、自动填充等。

428e4039a590c82518dcc.png