Bitwarden 是一个密码管理器,支持多种平台与浏览器,并可以自己搭建服务端(使用 vaultwarden)。

部署

使用 docker 部署:

docker run -d --name bitwarden -v /srv/bitwarden/data:/data -p 127.0.0.1:8082:80 vaultwarden/server:latest

配置

Vaultwarden 配置 1

Bitwarden 使用环境变量进行配置。可在 docker 命令中用 -e 配置或者 bind mount 用于设置环境变量的 shell 脚本到容器中的 /etc/bitwarden_rs.sh

  • WEBSOCKET_ENABLED=true: 启用 WebSocket notification
  • SIGNUPS_ALLOWED=false: 关闭注册
  • INVITATIONS_ALLOWED=false: 关闭邀请
  • DOMAIN=https://bitwarden.example.com: domain

配置后完整的 docker 命令:

docker run -d --name bitwarden -v /srv/bitwarden/data:/data -v /srv/bitwarden/bitwarden_rs.sh:/etc/bitwarden_rs.sh -p 127.0.0.1:8082:80 -p 127.0.0.1:3013:3012 vaultwarden/server:latest

Nginx 配置 2

带有 WebSocket notifications 的 nginx 配置

server {
    server_name bitwarden.example.com;
 
    location / {
        proxy_pass http://127.0.0.1:8082;
        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://127.0.0.1:3013;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    location /notifications/hub/negotiate {
        proxy_pass http://127.0.0.1:8082;
    }
}

外部链接

Footnotes

  1. Configuration overview · dani-garcia/vaultwarden Wiki

  2. Proxy examples · dani-garcia/vaultwarden Wiki