目录
环境部署
docker安装
官方一键安装脚本
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动 Docker
sudo systemctl start docker
docker-compose安装
sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
如果要进行更新,替换1.28.4为最新的版本号即可。
查看最新版本:https://github.com/docker/compose/releases
极速配置
宝塔新建网站
配置docker-compose.yml
version: '3'
services:
# 服务名称
bitwarden:
# 指定使用 Docker Hub 中的最新镜像
image: bitwardenrs/server:latest
# 容器名称
container_name: bitwarden
# 开机自动启动
restart: always
# 指定容器内的 /data 目录挂载到宿主机的当前目录下的 /www/wwwroot/bitwarden 目录,这样你可以在宿主机上执行数据库的备份操作
volumes:
- /www/wwwroot/bitwarden/:/data
# bitwarden配置
environment:
# 开启网页访问
WEB_VAULT_ENABLED: 'true'
# 开启新用户注册,我们注册后关闭即可
SIGNUPS_ALLOWED: 'true'
# 开启/关闭长连接
WEBSOCKET_ENABLED: 'true'
# 日志文件
LOG_FILE: /data/bitwarden.log
# 数据库
DATABASE_URL=/data/db.sqlite3
#自行决定是否配置smtp邮件服务
SMTP_HOST: 'smtp.163.com'
SMTP_FROM: 'test@163.com'
SMTP_PORT: '465'
SMTP_SSL: 'true'
SMTP_USERNAME: 'test@163.com'
SMTP_PASSWORD: 'password'
SMTP_EXPLICIT_TLS: 'true'
# 将容器内的80/3012端口映射到宿主机的7006/7007端口;其中80端口为 HTTP 服务,3012 端口是 websockets 服务,如不需要可不映射
ports:
- 127.0.0.1:7006:80
#- 7007:3012
启动系统运行
docker-compose up -d
查看docker stats
,占用资源极低
配置反向代理
配置SSL
使用cloudflare创建免费ssl证书
快速使用
导入密码库
注册登录后可在上方的工具中进行数据导入,支持多种格式的数据导入
关闭新用户注册
现在你的bitwarden服务器允许任何人访问和注册,如果你只需要自己使用,可以关闭用户注册功能。
调整docker-compose配置文件
SIGNUPS_ALLOWED: 'false'
改动配置后需要运行以下命令来删除并重新创建容器以使配置生效,
docker-compose down && docker-compose up -d
无需担心你的数据,我们的数据均保存在我们先前创建的目录/www/wwwroot/bitwarden
中
这样就关闭了用户注册功能,并禁用了 web 的访问。密码数据我们还是可以在客户端中进行编辑的。
启用管理页面
添加环境变量
ADMIN_TOKEN=some_random_token_as_per_above_explanation
这里的 some_random_token_as_per_above_explanation 为你自定义的一串任意字符。
ADMIN_TOKEN为管理面板密码,推荐使用“openssl rand -base64 48”生成
开启管理页面后,/admin 子目录即是管理页面地址,如:https://yourdomain.com:8080/admin。
禁用邀请
添加环境变量
INVITATIONS_ALLOWED=false
登录客户端
Chrome插件:
MacOS客户端:
配置自定义环境:
容器更新
由于使用的是非官方的服务器端,所以作者们会经常同步更新到官方的更新中,以保证与客户端的兼容性。
更新也是直接运行如下命令即可
cd /www/wwwwroot/bitwarden
//停止运行的bitwarden容器
docker-compose stop
//拉取最新镜像
docker-compose pull
//重新构建并启动
docker-compose up -d --build
数据备份-mail
此方法为博主自用,利用邮件进行数据备份,简单实用
git clone https://github.com/hi-KK/backup_by_mail.git
修改配置文件,配置smtp邮箱和接收邮箱
宝塔面板创建计划任务,设置每天备份bitwarden网站目录,并保存三份文件
再新建一个计划任务,每三天将备份文件用邮件发送至邮箱备份
如此即保障服务器有三份最新备份文件,邮箱有每日备份文件,做到双备份
数据备份-git
需要先配置好github环境,用私钥免密码登录github。
先建立远程备份仓库并和本地绑定。
cd ~/bitwarden/bw-data #改成自己bitwarden所在位置
git init
git remote add origin git@github.com:xxxx/xxxx.git #自己在github建的空仓库,这里用SSH进行clone
git add -A
git commit -m "first push"
git push -u origin master
建立定时上传github的脚本,备份bw-data文件夹。
cd ~
sudo timedatectl set-timezone Asia/Shanghai; #修改系统时区
cat >> backUp_Bitwarden.sh << EOF
#!/bin/sh
date=\$(date '+%Y-%m-%d %H:%M')
cd ~/bitwarden/bw-data
git add -A
git commit -m "backup at $date"
git push
EOF
chmod +x backUp_Bitwarden.sh;
定时任务crontab建立。
# 每天13:00备份一次
echo "00 13 * * * bash ~/backUp_Bitwarden.sh> ~/backup.log 2>&1 &">bt.cron;
crontab bt.cron;
rm -rf bt.cron;
crontab -l; #查看是否设置成功
或者直接使用宝塔自带的定时任务建立更简便
安全提醒
对于使用任何密码管理工具的人来说,主密码的重要性不言而喻。一旦主密码泄漏,相当于将所有帐号密码拱手相让;一旦主密码丢失,所有数据也将无法找回。
所以,请时常审视、改进你的安全策略,定期对帐号做安全审查,不定期修改并牢记主密码,比如将主密码使用手机同步并设置手势密码、指纹密码、PIN码等,或分别保存几份至不同云盘中,但不可透露这字符串是你的主密码,只有你能看懂这串字符是有什么用才行。
参考:
https://ffis.me/archives/2080.html
https://www.dqlog.com/archives/85.html
https://chengpengzhao.com/2020-08-03-vps-neng-yong-lai-zuo-shi-me/
https://www.psay.cn/toss/136.html