51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【Docker】搭建一款开源、安全且跨平台的密码管理工具 - Bitwarden

本文最后更新于 2025-03-21,文章可能存在过时内容,如有过时内容欢迎留言或者联系我进行反馈。

前言 {#%E5%89%8D%E8%A8%80}

本教程基于飞牛系统fnOS 0.8.41Docker Compose功能进行搭建。

简介 {#%E7%AE%80%E4%BB%8B}

Bitwarden 是一款开源安全且跨平台的密码管理工具,旨在帮助用户高效管理各类账户密码,同时提升数据安全性。以下是其核心特点:

核心功能与优势 {#%E6%A0%B8%E5%BF%83%E5%8A%9F%E8%83%BD%E4%B8%8E%E4%BC%98%E5%8A%BF}

  • 密码存储与自动填充:支持存储登录凭证、支付信息、安全笔记等敏感数据,并通过浏览器扩展或客户端实现自动填充功能,减少手动输入。

  • 密码生成:内置随机密码生成器,可创建高强度复杂密码,避免重复使用简单密码的风险。

  • 跨平台同步:提供全平台支持(Windows、macOS、Linux、iOS、Android)及浏览器插件,确保密码库在所有设备间实时同步。

安全性保障 {#%E5%AE%89%E5%85%A8%E6%80%A7%E4%BF%9D%E9%9A%9C}

  • 端到端加密:用户数据在本地加密后上传服务器,仅用户掌握解密密钥,官方无法访问。

  • 开源透明:代码公开接受社区审查,安全性经多次验证,支持自托管服务以完全掌控数据存储。

  • 合规认证:通过 GDPR、SOC2 等国际安全合规认证,提供企业级数据保护。

部署与使用灵活性 {#%E9%83%A8%E7%BD%B2%E4%B8%8E%E4%BD%BF%E7%94%A8%E7%81%B5%E6%B4%BB%E6%80%A7}

  • 官方云服务:免费基础版已满足个人需求,付费版(约 $10/年)解锁密码健康报告、1GB加密存储等高级功能。

  • 自托管选项 :用户可自行搭建服务器(如通过 Docker),实现私有化部署,适合注重数据控制权的用户。社区项目 Vaultwarden(原 Bitwarden_RS)进一步优化了资源占用,支持在树莓派等低配设备运行。

适用场景 {#%E9%80%82%E7%94%A8%E5%9C%BA%E6%99%AF}

  • 个人用户:免费版即可满足日常密码管理需求。

  • 团队与企业:支持组织共享密码库和权限管理,适合家庭或小型团队协作。

部署 {#%E9%83%A8%E7%BD%B2}

  1. 打开Docker管理器,选择"Compose",点击右上角"新增项目"。

  2. 在创建项目窗口中填写项目名称和选择数据存放路径,然后选择"创建docker-compose.yml",将下列代码根据自己实际情况修改后复制粘贴进去。

    version: '3.8'
    services:
      vaultwarden:
        image: vaultwarden/server:latest
        container_name: bitwarden-1
        restart: always
        environment:
          - ADMIN_TOKEN=RbHarw2sTuoxrVs0   # 管理界面访问令牌(通过 `https://tools.uptoz.cn/token-generator` 生成)
          - SIGNUPS_ALLOWED=false # 是否允许注册(true/false)
        volumes:
          - ./data:/data  # 持久化数据目录
        ports:
          - "1180:80"  # 映射 HTTP 端口(建议通过反向代理绑定 HTTPS)
    

    勾选"创建项目后立即启动",最后点击"确定"。

  3. 等待构建完成,由于Bitwarden的各项功能都需要使用https连接,可以通过反向代理配置HTTPS进行访问。

    以下为Nginx反向代理配置,仅供参考。

    server {
      server_name bitwarden.uptoz.cn;
      listen 443 ssl;
      listen [::]:443 ssl;
      http2 on;
      ssl_certificate /home/nginx/.acme.sh/*.uptoz.cn/fullchain.cer;
      ssl_certificate_key /home/nginx/.acme.sh/*.uptoz.cn/*.uptoz.cn.key;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
      listen 80;
      listen [::]:80;
      if ($scheme = http) {
        return 301 https://$host:443$request_uri;
      }
      location / {
        proxy_pass http://127.0.0.1:1180;
        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-Host $http_host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods *;
        add_header Access-Control-Allow-Headers *;
        add_header Access-Control-Allow-Credentials true;
        if ($request_method = 'OPTIONS') {
          return 204;
        }
        proxy_redirect http:// https://;
        if ($host != $server_name) {
                return 404;
              }
      }
    }
    

使用 {#%E4%BD%BF%E7%94%A8}

请参照官方文档 bitwarden Doc(https://bitwarden.com/help/create-bitwarden-account/


赞(2)
未经允许不得转载:工具盒子 » 【Docker】搭建一款开源、安全且跨平台的密码管理工具 - Bitwarden