前言

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

简介

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

核心功能与优势

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

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

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

安全性保障

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

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

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

部署与使用灵活性

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

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

适用场景

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

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

部署

  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;
              }
      }
    }

使用

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