今天收到LastPass的邮件 更改了免费政策 导致跨设备之间不能完美同步 准备自建Bitwarden_rs来替代LastPass

用RUST开发的第三方Bitwarden密码管理器,相比官方版本的主要优势有:

  1. 对硬件要求的配置低,官方版本至少3GB内存,这个1G内存足够。
  2. 可以使用官方版本某些收费才有的功能。
  3. Caddy自动续期SSL证书。

安装docker:

yum -y install curl
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

安装docker-compose:

curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

放行80/443端口:

firewall-cmd --permanent --add-service=http 
firewall-cmd --permanent --add-service=https 
firewall-cmd --reload 

新建docker-compose.yml:

mkdir -p /opt/bitwarden && cd /opt/bitwarden && vi /opt/bitwarden/docker-compose.yml

写入如下配置:

version: "3"

services:
  bitwarden:
    image: bitwardenrs/server
    restart: always
    volumes:
      - ./bw-data:/data
    environment:
      WEBSOCKET_ENABLED: "true"
      SIGNUPS_ALLOWED: "true"

  caddy:
    image: abiosoft/caddy
    restart: always
    volumes:
      - ./Caddyfile:/etc/Caddyfile:ro
      - caddycerts:/root/.caddy
    ports:
      - 80:80
      - 443:443
    environment:
      ACME_AGREE: "true" 
      DOMAIN: "example.com"
      EMAIL: "example@gmail.com"
volumes:
  caddycerts:

注:只需要将DOMAIN:后面的域名修改为自己的即可。

新建一个Caddy的配置文件:

vi Caddyfile

将以下内容添加至Caddyfile:

{$DOMAIN} {
    tls {$EMAIL}

    header / {
        Strict-Transport-Security "max-age=31536000;"
        X-XSS-Protection "1; mode=block"
        X-Frame-Options "DENY"
    }

    proxy /notifications/hub/negotiate bitwarden:80 {
        transparent
    }

    # Notifications redirected to the websockets server
    proxy /notifications/hub bitwarden:3012 {
        websocket
    }

    # Proxy the Root directory to Rocket
    proxy / bitwarden:80 {
        transparent
    }
}

启动:

docker-compose up -d

打开站点域名首先注册一个账号,注册完成之后,可以将注册功能关闭掉,编辑docker-compose.yml:

vi /opt/bitwarden/docker-compose.yml

改动environment:下面的SIGNUPS_ALLOWED值为false:

SIGNUPS_ALLOWED: "false"

如果要配置SMTP也可以在这里一并完成,加入下面的配置:

   SMTP_HOST: "smtp.host.net"
   SMTP_FROM: "no-reply@home.example.com"
   SMTP_PORT: "587"
   SMTP_SSL: "true"
   SMTP_USERNAME: "xxx"
   SMTP_PASSWORD: "yyy"

停止运行,然后再启动即可应用新的环境变量:

docker-compose stop
docker-compose up -d

基本配置好上面这些就能满足日常使用需求了,如果需要更多配置可看官方的WIKI:

https://github.com/dani-garcia/bitwarden_rs/wiki