九溪

溪水润知林,滴露启慧心

用户工具

站点工具


wiki:linux:ubuntu-install-bitwardenrs

这是本文档旧的修订版!


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

官方地址:https://github.com/dani-garcia/vaultwarden

拉取镜像即可:

docker pull vaultwarden/server:latest

运行 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

数据备份

评论

请输入您的评论. 可以使用维基语法:
 
wiki/linux/ubuntu-install-bitwardenrs.1739071433.txt.gz · 最后更改: 2025/02/09 11:23 由 colin