• 宝塔自建bitwarden密码管理器


    原文
    blog.tooln.cn

    宝塔自建bitwarden密码管理器

    我们生活在被数字包围的世界里。为了证明你是你,你对某个资源拥有所有权。那么就需要密码。最常用的各种网站,还别说银行密码信用卡等等。市面上虽然有1Password等优秀商业方案,但是要付费。主流浏览器Chrome,Firefox等也提供原生的密码保存方案。 但是, 密码毕竟是个人数据, 自部署(self-hosted)是最佳方案 免费密码管理器 bitwarden 的实际使用体验如何

    使用宝塔面板 容易备份 容易管理

    新建站点

    image-20220726130235301

    新建站点,PHP版本纯静态,不创建数据库,同时将根目录复制

    点击新建好的站点,为新站点申请SSL(站点无SSL将影响功能使用,内网使用可查看此文章 绕过bitwarden无ssl情况导入密码)

    image-20220726134115108

    新建docker

    image-20220726130524617

    bitwarden_rs 是一个用于本地搭建 Bitwarden 服务器的第三方开源 Docker 项目。

    bitwarden_rs 使用 Rust 编写,并改用 SQLite 数据库(现在也支持 MySQL 和 PostgreSQL),相对于官方版使用 MSSQL 数据库要求至少 2GB 内存,运行 bitwarden_rs 时只需要 10M 内存,可以说对硬件基本没有要求

    wiki

    安装后点击设置-镜像管理 填入vaultwarden/server:latest

    image-20220726141349121

    新建docker,添加端口和目录映射,目录一定要选刚才创建网站的目录

    image-20220726155447695

    配置反向代理

    打开 配置文件 添加websocket配置(不配置此项可能不会及时自动同步)

    image-20220726162429100

    upstream vaultwarden-ws {
      zone vaultwarden-ws 64k;
      server 127.0.0.1:3012;
      keepalive 2;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    打开 站点-反向代理

    随便添加一个,因为后边还要手动调整

    image-20220726161532649

    添加完成后点击 配置文件 ,手动编辑

    image-20220726161617967

    粘贴如下内容

    #PROXY-START/
    
    location / {
            proxy_pass http://127.0.0.1:5814;
            proxy_http_version    1.1;
            proxy_cache_bypass    $http_upgrade;
            proxy_set_header Upgrade            $http_upgrade;
            proxy_set_header Connection         "upgrade";
            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;
            proxy_set_header X-Forwarded-Host   $host;
            proxy_set_header X-Forwarded-Port   $server_port;
        }
        
        location /notifications/hub {
            proxy_http_version 1.1;
            proxy_pass http://vaultwarden-ws;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
        
        location /notifications/hub/negotiate {
            proxy_pass http://127.0.0.1:5814;
        }
    #PROXY-END/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    保存即可,此时访问网址已经可以看到相关页面了,注册一个账号作为使用的主账号,可以导出chrome浏览器以前保存过的密码,然后导入到Bitwarden

    调整docker

    由于我是自己用的,所以还需要禁用注册

    停止并删除docker管理器上的容器,因为需要用命令行去重新创建一个

    image-20220726174128767

    打开系统命令行

    docker run -d --name Bitwarden \
      -e ADMIN_TOKEN=yigefuzademima \
      -e SIGNUPS_ALLOWED=false \
      -e WEBSOCKET_ENABLED=true \
      -v /www/wwwroot/xxx.xxx.com/:/data/ \
      -p 5814:80 \
      -p 3012:3012 \
      vaultwarden/server:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    使用ADMIN_TOKEN=密码环境变量来设置一个超级密码,密码具体自定义,一定要复杂一些

    使用SIGNUPS_ALLOWED=false来关闭注册

    使用 WEBSOCKET_ENABLED开启websocket

    -v /www/wwwroot/xxx.xxx.com/:/data/ \/www/wwwroot/xxx.xxx.com/换为第一步新建站点、第二部新建docker选的的路径,这样不会丢失上一步注册的用户数据

    执行完成后会发现docker管理器中又重新出现了一个容器

    定时备份

    image-20220726211409346

    使用宝塔的计划任务,定时备份网址数据到服务器本地/腾讯云COS

    各版本客户端下载地址

    bitwarden

  • 相关阅读:
    背包问题学习笔记-01背包
    跟羽夏去实现协程
    计算机毕业设计Java高校勤工助学管理系统(源码+系统+mysql数据库+lw文档)
    c++面向对象基础编程——运算符重载
    亚马逊刷单测评的正确方法是什么样的?
    例39:使用List控件
    GreenPlum dblink实战
    滑动窗口算法技巧
    程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
    读书笔记-Java并发编程的艺术-3.1
  • 原文地址:https://blog.csdn.net/tsvico/article/details/126004885