搭建bitwarden
参考链接:https://bitwarden.com/help/article/install-on-premise/
1、配置域
需要打开80端口和443端口。
2、安装Docker和Docker Compose
具体安装可以参考我的[Docker安装](Docker安装 – 巷子深的生活 (szx.life))这篇文章。
3、申请域名
这里因为我已经有个szx.life了,所以直接解析一个二级子域名就行了,还不用备案。
在DNSPOD里面直接解析,主机记录填写bitwarden,记录类型填写A,记录值填写自己主机的IP(不想用CDN了,麻烦死了)。
然后过一会儿就会生效,你可以ping一下这个域名(bitwarden.szx.life)行不行,当然要服务器先开启icmp,能被ping。
然后顺便再申请一个SSL证书,毕竟这玩意儿加密安全。
4、配置nginx
参考链接:https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples
我先配置nginx,要不然开起了也访问不了。
server {
listen 80;
#填写绑定证书的域名
server_name bitwarden.szx.life;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name bitwarden.szx.life;
#证书文件名称
ssl_certificate 1_bitwarden.szx.life_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_bitwarden.szx.life.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# Allow large attachments
client_max_body_size 128M;
location / {
proxy_pass http://localhost:3001;
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;
}
location /notifications/hub {
proxy_pass http://localhost:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_pass http://localhost:3001;
}
# Optionally add extra authentication besides the AUTH_TOKEN
# If you don't want this, leave this part out
location /admin {
# See: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
#auth_basic "Private";
#auth_basic_user_file /path/to/htpasswd_file;
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://localhost:3001;
}
}
5、测试运行
在你的目录存放数据
cd ~/software && mkdir bitwarden && cd bitwarden
拉取镜像
docker pull vaultwarden/server:latest
运行docker
docker run -d --name vaultwarden -v /home/ubuntu/software/bitwarden/data:/data/ -p 3001:80 vaultwarden/server:latest
发现能够运行,非常好啊。
6、Docker Compose
由于直接用docker进行运行非常的不方便啊,因为配置信息都要写在命令里面,使用docker compose的话,配置信息都在docker-compose.yml,比较合适。
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
env_file:
- config.env
ports:
- "3001:80"
- "3012:3012"
volumes:
- ./data:/data
上面还包括了一个config.env文件,即bitwarden的配置文件。可以参考这个模板和配置信息。
我按照自己的需求设置了一些。一开始先这样子,这样才能够注册,并且在web端直接进行操作。
# 禁止注册
#SIGNUPS_ALLOWED=false
# 开启U2F身份认证
DOMAIN=https://bitwarden.szx.life
# 开启WebSocket 通知
WEBSOCKET_ENABLED=true
# 日志存放
LOG_FILE=/data/vaultwarden.log
# 是否开启 Web 客户端
WEB_VAULT_ENABLED=true
然后启动docker-compse,就可以顺利访问了
docker-compose up -d
然后关闭
docker-compose down
然后配置文件再重新改回来,再启动
# 禁止注册
SIGNUPS_ALLOWED=false
# 开启U2F身份认证
DOMAIN=https://bitwarden.szx.life
# 开启WebSocket 通知
WEBSOCKET_ENABLED=true
# 日志存放
LOG_FILE=/data/vaultwarden.log
# 关闭 Web 客户端
WEB_VAULT_ENABLED=false
7、客户端访问
由于关闭了web客户端,那么只能通过客户端进行启动了,首先就是浏览器插件了,去下载一个,然后点击左上角的齿轮,输入自己的url就行了。


手机么要去谷歌商店下载一个,界面都差不多的。
8、设置开机自启
首先docker开机自启
sudo systemctl enable docker
然后在/etc/rc.local里面加入启动语句就行了
/usr/local/bin/docker-compose -f /home/ubuntu/software/bitwarden/docker-compose.yml up -d





