准备工具:
- vps
- 域名(如果不想使用域名,直接第一步就可以快速使用)
一 使用docker部署
进入vps,使用docker-compose启动bitwarden_rs服务,这里主要是配置文件 docker-compose.yml
,先附上我的,这个配置文件保证可用
version: "3"
services:
bitwarden:
image: bitwardenrs/server:testing # 这里我使用的最新测试版,包含send功能
container_name: bitwardenrs #容器启动后的名字
restart: always
ports:
- "127.0.0.1:1234:80" # 映射80端口到本地的1234端口,后面使用nginx代{过}{滤}理
# add another line
volumes:
- ./bitwarden:/data # 本地数据文件夹为 配置文件同目录下的bitwarden目录
environment:
SIGNUPS_ALLOWED: "true" #是否关闭注册功能,第一次设置为true,自己注册后可以关闭改为false
WEB_VAULT_ENABLED: "true" # 允许网页配置
SIGNUPS_ALLOWED: "false"
配置好后,就可以直接使用命令 docker-compose up -d
启动服务了
服务启动后可以直接使用 ip:1234(上面配置文件里的端口) 来访问,如果不想配置域名,到这里就可以正常使用了
使用方法就是在各个客户端的登陆界面配置上自己的服务器地址:端口,下图以chrome插件为例
保存后就可以打开登录界面
不想使用域名,或者觉得麻烦可以直接使用上面方面食用, 忽略下面步骤
配合域名使用
- 做好域名解析,我这里以namecheap为例
在上图的Actions下面添加一个A record, host为@, value为你vps的ip地址
然后添加一个CNAME record ,host随意,value为你的主域名,比如,password.yourdomain.com(这里主域名为yourdomain.com)
我上面还额外配置了几个sendgrid的记录,主要是为了正常邮件发送,下面是邮件的配置, 添加在上面第一个配置文件的environment 后面,和其他配置并列
SMTP_HOST: smtp.sendgrid.net #邮件服务器,我是用的sendgrid,免费的够用了
SMTP_FROM: # 邮件发件人
SMTP_PORT: 587
SMTP_SSL: "true"
SMTP_USERNAME: # 从sendgrid去拿
SMTP_PASSWORD: # 从sendgrid获取
域名解析配置,可以打开cmd, ping yourdomain.com 如果能看到你服务器ip,说明解析正常,进行下一步
打开vps,安装nginx,nginx主要也就是一个配置问题,下面贴上我使用的配置, 主要就是在nginx.conf配置文件下添加了一个server以及配置ssl
server {
root /var/www/yourdomain.com/html;
index index.html index.htm index.nginx-debian.html;
server_name password.yourdomain.com; #这里要配置域名
##
#proxy_pass
##
location / {
proxy_pass http://localhost:1234; #设置个简单的反代,还记得我们之前配置的1234端口么,就是这里使用
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
首先去安装两个插件,在vps里执行
sudo apt install certbot python3-certbot-nginx
然后直接执行如下命令来安装证书
sudo certbot --nginx -d yourdomain.com -d password.yourdomain.com
证书安装好后,会在nginx配置文件里自动添加一些配置文件
最后启动nginx: sudo nginx reload
打开网页,输入: https://password.yourdomain.com 就可以打开密码管理软件了
最后的效果如下,我们创建一个账号就可以开始使用