自建Vaultwarden/Bitwarden密码管理器保姆级教程

Bitwarden是一款开源的密码管理器,旨在帮助用户安全地存储和管理他们的密码和敏感信息。无论是个人用户还是企业,Bitwarden都提供了便捷的解决方案来保护您的登录凭据和重要数据。

Bitwarden提供了跨平台的支持,可在多个设备上使用,包括桌面、移动设备和网络浏览器。您可以在Windows、Mac、Linux、iOS和Android等操作系统上安装Bitwarden客户端,以便随时随地访问您的密码和数据。

Vaultwarden是Bitwarden的开源版,下面将演示如何快速搭建Vaultwarden。

安装 Docker 与 Docker compose

curl -fsSL https://get.docker.com | bash -s docker

启用移动客户端推送通知(安卓和iOS)

从Vaultwarden 1.29.0版本开始,可以启用移动客户端的推送通知,在移动应用程序、网页扩展程序和网页密码库之间自动同步您的个人密码库,而无需手动同步。

访问 https://bitwarden.com/host/,输入您的电子邮件地址,数据地区选择美国,然后您将获得一个INSTALLATION ID和KEY。

快速搭建Vaultwarden

创建 /opt/vaultwarden 文件夹,并在文件夹中创建 docker-compose.yml 文件,写入内容并保存:

services:
  vaultwarden:
    container_name: vaultwarden
    image: vaultwarden/server:latest
    restart: unless-stopped
    volumes:
      - ./data/:/data/
    ports:
      - 8080:80
    environment:
      - DOMAIN=https://example.com # 这是您希望与您的Vaultwarden实例关联的域名。
      - LOGIN_RATELIMIT_MAX_BURST=10 # 允许在一阵登录/两步验证尝试中的最大请求次数。
      - LOGIN_RATELIMIT_SECONDS=60 # 这是来自同一IP的登录请求之间的平均秒数,在Vaultwarden限制登录次数之前。
      - ADMIN_RATELIMIT_MAX_BURST=10 # 这与LOGIN_RATELIMIT_MAX_BURST相同,只争对admin面板。
      - ADMIN_RATELIMIT_SECONDS=60 # 这与LOGIN_RATELIMIT_SECONDS相同
      - ADMIN_SESSION_LIFETIME=20 # 会话持续时间
      - ADMIN_TOKEN=YourReallyStrongAdminTokenHere # 此值是Vaultwarden管理员面板的令牌(一种密码)。为了安全起见,这应该是一个长的随机字符串。如果未设置此值,则管理员面板将被禁用。建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全
      - SENDS_ALLOWED=true  # 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。
      - EMERGENCY_ACCESS_ALLOWED=true # 此设置控制用户是否可以启用紧急访问其账户的权限。例如,这样做可以在用户去世后,配偶可以访问密码库以获取账户凭证。可能的值:true / false。
      - WEB_VAULT_ENABLED=false # 此设置决定了网络保险库是否可访问。一旦您配置了您的账户和客户端,停止您的容器,然后将此值切换为false并重启Vaultwarden,可以用来防止未授权访问。可能的值:true/false。
      - SIGNUPS_ALLOWED=true # 此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值:true / false。
      - PUSH_ENABLED=true
      - PUSH_INSTALLATION_ID=获得的id
      - PUSH_INSTALLATION_KEY=获得的key

简单说一下:
8080:80 这里8080可以改成你需要的非443、80端口
DOMAIN 改成最后你要用的域名
ADMIN_TOKEN 可以在ssh里面输入 openssl rand -base64 48 生成复杂的密码
SIGNUPS_ALLOWED 等你注册好之后,如果你只是想自己用,可以把这边改成false

接着保存,执行 docker compose up -d启动,如果打开IP:8080可以正常访问vaultwarden,那么是没问题的。

反向代理

这里使用nginx反向代理前端,当然你也可以使用Nginx Proxy Manager。

点击查看部分代理示例

下面是nginx反代配置:

#PROXY-START/
    location / {
      proxy_pass http://127.0.0.1:8080/;       # 注意改成你实际使用的端口
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade-Insecure-Requests 1;
      proxy_set_header X-Forwarded-Proto https;
    #Set Nginx Cache
      add_header Cache-Control no-cache;
    }
#PROXY-END/

也可以使用cloudflare直接反代:首先解析域名到服务器地址,并点亮代理的小云朵,然后CF网站左侧的 规则 – Origin Rules 中创建规则并保存。

自建Vaultwarden/Bitwarden密码管理器保姆级教程

Vaultwarden 更新

cd /opt/vaultwarden
docker-compose pull
docker-compose up -d

Vaultwarden 备份和迁移

备份 /opt/vaultwarden 文件夹,并迁移到新的服务器,启动docker即可。

原创文章,作者:inli,如若转载,请注明出处:https://inli.app/set-up-vaultwarden-bitwarden.html

inliinli
上一篇 2024年8月1日 上午12:59
下一篇 2024年8月11日 下午10:35

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注