介绍
BitwardenRS是一个开源的密码管理器,它可以让你在自己的服务器上搭建和运行自己的Bitwarden密码管理服务。它提供了强大的加密功能,可以安全地存储和管理各种登录凭据。使用BitwardenRS,你可以方便地访问和使用密码,并保护你的个人信息的安全。
本文将引导读者通过在腾讯云Lighthouse服务器用docker compose
部署BitwardenRS。
Lighthouse是腾讯云推出的一款轻量应用服务器产品,它提供了高性价比、高可用性、高安全性和高灵活性的云端计算服务。具体信息参阅官方文档:轻量应用服务器概述。
准备工作
安装docker
- 一键安装脚本!Linux系统都支持!
bash
# 官方源
curl -sSL https://get.docker.com/ | sh
# Azure源(中国区azure)
curl -fsSL https://get.docker.com | bash -s docker --mirror AzureChinaCloud
- 启动服务
bash
#启动Docker
systemctl start docker
#开机启动
systemctl enable docker
安装
本次使用的是vaultwarden镜像。
vaultwarden
优点:资源占用少,减少服务器负担。
1.创建目录
bash
mkdir -p ~/bitwardenrs
2.创建配置文件
bash
#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服务
具体参考下图:
以上配置文件为最简配置,如果需要增加配置,可以参考官方文档。
3.启动服务
bash
#path: ~/bitwardenrs
docker-compose up -d
4.配置nginx反代
nginx安装可以参考官方文档,或我的OpenResty安装教程。
conf
#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 私钥文件
conf
...
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的登录界面。
注册账号,登录即可使用。
6.配置2FA
2FA是一种双重验证机制,可以增加账号的安全性。
在设置
--->安全
--->双重验证
中,可以设置2FA。
使用
具体支持的客户端可参考:官方文档
本文以Microsoft Edge
浏览器为例。插件地址:Microsoft Edge bitwarden
安装插件后,点击插件图标,修改为自托管。
服务器URL填写你的域名,点击保存即可登录使用。
可根据你的需求设置自动锁定时间、自动填充等。