这是本文档旧的修订版!
Ubuntu 中安装配置密码管理服务 bitwarden (Vaultwarden)
Bitwarden 是可自建服务的密码管理软件,提供多中客户端,用于替代lastpass。Bitwarden_rs 是 Bitwarden 的 rust 实现版本,比较轻量化。
bitwarden_rs 项目从 v2.21.0 开始,已更名为 Vaultwarden github项目地址
本文提供在Ubuntu环境下安装 Vaultwarden 的步骤,具体环境如下。
# uname -a Linux B2-DC8 5.4.0-152-generic #169~18.04.1-Ubuntu SMP Wed Jun 7 22:22:24 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux # docker -v Docker version 24.0.2, build cb74dfc
updated on 20250209:由于在使用 Android Bitwarden App 登录时提示错误:“我们无法处理您的请求 请重试或联系我们”,经查询Android App “We were unable to process your request. Please try again or contact us” Nail1684 in post #8,可能需要更新服务端程序。
域名准备
做好域名指向与配置
Bitwarden必须运行在https下,须在nginx中启用ssl(也可直接使用 cloudflare 提供的加密代理)
安装 Docker
确保新docker处于最新版本,否则可能出现兼容问题
另,如果遇到类似 docker-ce安装时出现错误:
dpkg: error processing package docker-ce (--configure): subprocess installed post-installation script returned error exit status 1 Processing triggers for libc-bin (2.23-0ubuntu11) ... Errors were encountered while processing: docker-ce E: Sub-process /usr/bin/dpkg returned an error code (1)
可以输入以下命令:
# cd /var/lib/dpkg # sudo mv info info.bak # sudo mkdir info # sudo apt-get install docker-ce docker-ce-cli containerd.io
再次试验,安装成功
# docker -v Docker version 19.03.5, build 633a0ea838
然后重新卸载相关程序,再重新安装
安装 Nginx
或者 Caddy
安装 Bitwarden 第三方服务端 Vaultwarden
运行 Vaultwarden(适用)
docker run --detach --name vaultwarden \ --env DOMAIN="https://mm.vide.cc" \ --volume /bw-data/:/data/ \ --restart unless-stopped \ --publish 8880:80 \ vaultwarden/server:latest
update 20250209 以下为旧版命令,不建议使用。plan1
docker run -it -d --name vaultwarden -v /bw-data/:/data/ -p 8880:80 --restart=always vaultwarden/server:latest
update 20250209 以下为旧版命令,不建议使用。plan2
docker run -d --name bitwardenrs \ --restart always \ -e SIGNUPS_ALLOWED=true \ -e WEBSOCKET_ENABLED=true \ -e LOG_FILE=/data/bitwarden.log \ -p 8880:80 \ -p 3012:3012 \ -v /bw-data/:/data/ \ bitwardenrs/server:latest
配置 Nginx
本文域名示例为 passwd.com
文件 passwd.com 保存到 /etc/nginx/site-enabled/ 目录下
- json
server { listen 443 ssl; server_name passwd.com; ssl_certificate /etc/nginx/cert/passwd.com.pem; ssl_certificate_key /etc/nginx/cert/passwd.com.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; ssl_prefer_server_ciphers on; client_max_body_size 128M; location / { proxy_set_header Host 'passwd.com'; proxy_pass http://127.0.0.1:8880; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /notifications/hub/negotiate { proxy_pass http://127.0.0.1:8880; } } server { listen 80; server_name passwd.com; return 301 https://$server_name$request_uri; }
重启 Nginx
service nginx restart
其他Docker常用命令:
docker pull vaultwarden/server:latest # 更新最新镜像 NAME[:TAG|@DIGEST] docker images # 查看所有镜像 docker rmi vaultwarden/server:latest # 删除镜像 IMAGENAME docker ps -a # 查看所有运行的容器 docker stop vaultwarden # 停止容器运行 CONTAINERNAME docker rm vaultwarden # 删除容器 CONTAINERNAME docker rm -f vaultwarden # 强制停止并删除容器 CONTAINERNAME
数据备份
done
参考:
- 官方 Bitwarden 部署和使用(bitwarden_rs) https://host.bitwarden.in/deploying-and-using-of-official-bitwarden/prepareing
- 使用bitwarden_rs搭建自己的密码管理器服务 https://www.vpser.net/build/bitwarden_rs-install.html
- Docker的常用命令: https://www.cnblogs.com/juno3550/p/15817325.html
评论