Featured image of post 使用Docker部署安装Bitwarden

使用Docker部署安装Bitwarden

Bitwarden密码管理器

Bitwarden是一款开源跨平台的密码管理器,你可以选择自己部署密码库,而不需要经过第三方的服务器。总之为了摆脱恼人的Edge,首先要部署代替的密码管理器和迁移密码。

部署前的准备

  • 一台装有dockerdocker-composenginx的服务器
  • 一个可以使用的域名

在这里贴上官方提供的配置要求:

MinimumRecommended
Processorx64, 1.4GHzx64, 2GHz dual core
Memory2GB RAM2GB RAM
Storage12GB25GB
Docker VersionEngine 26+ and ComposeEngine 26+ and Compose

创建一个专门用于Bitwarden的用户

根据Bitwarden官方的建议,创建一个专门用于Bitwarden的用户,以便隔绝Bitwarden与其他应用程序

1
2
3
4
5
6
7
sudo adduser bitwarden # 使用Ubantu的话,这一步就需要输入密码
sudo passwd bitwarden # 建议使用强密码并妥善保管
sudo groupadd docker # 如果安装了docker一般情况下docker用户组已经存在
sudo usermod -aG docker bitwarden
sudo mkdir /opt/bitwarden
sudo chmod -R 700 /opt/bitwarden
sudo chown -R bitwarden:bitwarden /opt/bitwarden

部署Bitwarden

切换到bitwarden用户

1
su bitwarden

下载官方提供的安装脚本

1
curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh

在安装前需要先到Bitwarden官网获取安装id和密钥,需要用到一个邮箱地址,随后运行脚本执行安装命令,根据提示填写即可

1
./bitwarden.sh install

安装完成后需要修改配置文件和环境变量文件,首先修改config.yml

1
vim ./bwdata/config.yml

主要修改以下两个设置:

1
2
3
4
5
6
7
# Docker compose file port mapping for HTTP. Leave empty to remove the port mapping.
# Learn more: https://docs.docker.com/compose/compose-file/#ports
http_port: 30080 # 修改成80意外的端口防止冲突
#
# Docker compose file port mapping for HTTPS. Leave empty to remove the port mapping.
# Learn more: https://docs.docker.com/compose/compose-file/#ports
https_port: # 禁用https

随后修改global.override.env

1
vim ./bwdata/env/global.override.env
1
2
3
4
5
6
7
8
globalSettings__mail__replyToEmail=no-reply@bitwarden.ratmomo.tech # 修改成你的邮箱以获得smtp服务
globalSettings__mail__smtp__host=REPLACE 
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__ssl=false
globalSettings__mail__smtp__username=REPLACE
globalSettings__mail__smtp__password=REPLACE
globalSettings__disableUserRegistration=false # 个人使用的话,在创建完账户后建议设置成true
adminSettings__admins= # 修改成你的邮箱

outlook的用户可以在此找到相关配置

修改完成后运行以下命令:

1
2
./bitwarden.sh rebuild
./bitwarden.sh start

完成后可以使用docker ps验证是否正常运行

设置反代

个人使用强烈建议选择Nginx proxy manager代替Nginx,以下以npm为例演示:

登录npm的WEB管理页面,选择Add Proxy Host

Domain Names输入你的域名,例如:bitwarden.example.com。在Forward Hostname/IP输入服务器的IP地址,例如:192.168.1.2。端口填入刚刚设置的端口,建议打开下方的三个选项

点击SSL,选择Request a new SSL Certificate,建议打开Force SSlHTTP/2 Support两个选项,再在下方填入你的邮箱,勾选同意协议以获取SSL证书

到这一步基本上已经可以通过刚刚设置的域名访问自己的BitWarden页面了,随后注册账户即可使用密码库

番外篇:导入Edge/Chrome密码

在Edge/Chrome的密码管理界面选择导出

在Bitwarden的管理页面中选择工具菜单下的导入数据,再在文件格式菜单中选择Chrome(CSV),上传刚刚导出的csv文件,点击导入数据按钮即可

参考

Linux Standard Deployment | Bitwarden Help Center

bitwarden部署和使用记录 – 萌萌哒赫萝的小站

如何搭建一个私人的bitwarden密码管理工具服务端(保姆级教程) | Sola’s Blog

Import Data from Google Chrome | Bitwarden Help Center

Good Morning, and in case I don't see you, good afternoon, good evening, and good night!
Built with Hugo
Theme Stack designed by Jimmy