自建Bitwarden个人密码服务器,基于宝塔面板
最近更新:2021年12月14日
自建Bitwarden个人密码服务器,基于宝塔面板
背景
由于Chrome同步不能够正常使用,Edge手机端并不是非常好用,我需要在手机使用其它浏览器同步Chrome的密码。
如何搭建
1、服务器安装CentOS 8.X系统
2、安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
3、在宝塔面板中安装
Nginx、Docker管理器
4、创建纯静态网站,绑定域名,开启SSL
我这里设置网站目录/www/wwwroot/bitwarden
5、给站点创建反向代理
端口666(可自定义),腾讯阿里等需要去安全组开放此处使用的端口,并宝塔面板安全中,放行端口666
6、打开Docker管理器
镜像管理,添加镜像 vaultwarden/server:latest
7、为了方便使用,网站主目录中存放数据库文件,新建一个目录 Bitwarden:
mkdir /www/wwwroot/bitwarden && cd /www/wwwroot/bitwarden
8、准备配置文件:
进入 /www/wwwroot/bitwarden 目录 新建 config.env 文件
(也可使用 vi config.env)
复制下方代码,右键粘贴
SIGNUPS_ALLOWED=true #是否开放用户注册;
DOMAIN=https://bitwarden.uvooc.com #Bitwarden 服务使用的域名
DATABASE_URL=/data/bitwarden.db #数据库在容器内的路径
ROCKET_WORKERS=10 #设置服务器线程
WEB_VAULT_ENABLED=true #是否开启 Web 客户端
9、准备服务描述文件:
进入 /www/wwwroot/bitwarden 目录 新建 docker-compose.yml 文件
(也可以使用 *vi docker-compose.yml*)
version: '3'
services:
bitwarden:
image: vaultwarden/server:latest #使用最新镜像
container_name: 'bitwarden'
restart: always
volumes:
- ./data:/data #容器内的 /data 目录挂载到宿主机的当前目录下的 data 目录;
env_file:
- config.env
ports:
- "666:80" #将容器内的 80 端口映射到了宿主机的666端口;
10、启动服务
docker-compose up -d
*可能出现的问题: -bash: docker-compose: command not found*(无问题忽略)
(1)先安装 pip3 ,检查是否已有: pip3 -V
报错:-bash: pip3: command not found
则安装 pip3 :
yum -y install epel-release
yum -y install python-pip
yum -y install python3-pip
升级
pip3 install --upgrade pip
(2) 安装Docker-Compose:
pip3 install docker-compose
检查是是否成功:
docker-compose -version
11、用户注册和数据导入
启动服务后,通过刚配置好的域名,登录界面创建帐号。
登录之后在左侧栏的「工具」菜单中找到数据导入页面,不过直接导入还是会有些错乱,需要手工调整
12、关闭用户注册和网页端访问
因为密码服务器是我一个人使用,所以在注册好帐号,导入数据后,就关闭了用户注册权限和网页端访问权限,前面生成的 config.env 中,调整以下两项值:
SIGNUPS_ALLOWED=false
WEB_VAULT_ENABLED=false
修改之后,需要重启 bitwarden 服务才生效,运行以下命令来删除并重新创建容器。因为之前就做好了 数据库映射,不用担心数据被删除。
docker-compose down && docker-compose up -d
13、给网站添加防盗链
宝塔后台点击网站,下面找到防盗链,在URL后缀中添加db
,接着启用防盗链。