侧边栏壁纸
博主头像
KwokY-随想笔札

行动起来,活在当下

  • 累计撰写 1 篇文章
  • 累计创建 2 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

🔒 告别密码焦虑:Bitwarden 自搭建保姆级教程

在这个“万物皆需账号”的时代,记住成百上千个复杂的密码几乎是不可能的。使用密码管理器是唯一的出路。今天我们将使用 Vaultwarden(轻量版 Bitwarden)来搭建一个属于你自己的密码堡垒。

1. 为什么选择自搭建 Bitwarden?

  • 数据自主:密码存在自己服务器上,不担心服务商跑路。

  • 全功能免费:免费使用官方的高级会员功能,如 TOTP 二步验证、附件存储。

  • 极其轻量:Vaultwarden 使用 Rust 编写,仅需不到 200MB 内存即可流畅运行。


2. 准备工作

  • 服务器:一台 Linux 云服务器(推荐 Ubuntu/Debian)。

  • 域名:已解析到服务器 IP。

  • 基础环境:安装好 Docker。

快捷安装 Docker(如果还没装)

Bash

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

3. 安装 Bitwarden (Vaultwarden)

我们提供两种安装方式,选其一即可。推荐使用 Docker Compose 以便后期维护。

方式 A:Docker Compose (推荐),含 WebSocket 端口

  1. 创建目录:mkdir -p ~/vaultwarden && cd ~/vaultwarden

  2. 创建文件:nano docker-compose.yml

  3. 粘贴以下内容:

YAML

version: '3'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - SIGNUPS_ALLOWED=true   # 注册后请改为 false
      - WEBSOCKET_ENABLED=true # 显式开启 WebSocket 支持
      - DOMAIN=https://yourdomain.com 
    volumes:
      - ./vw-data:/data
    ports:
      - "8080:80"   # HTTP 网页访问端口
      - "3012:3012" # WebSocket 同步端口
  1. 启动:docker compose up -d

方式 B:Docker Run (快速指令),含 WebSocket 端口

Bash

docker run -d --name vaultwarden \
  -e SIGNUPS_ALLOWED=true \
  -e WEBSOCKET_ENABLED=true \
  -v /vw-data/:/data/ \
  -p 8080:80 \
  -p 3012:3012 \
  --restart unless-stopped \
  vaultwarden/server:latest

4. 安装 Nginx Proxy Manager (反向代理)

Bitwarden 必须配合 HTTPS 才能正常登录和同步。NPM 可以帮你轻松搞定证书。

Docker Run 安装指令

Bash

docker run -d \
  --name nginx-proxy-manager \
  -p 80:80 \
  -p 81:81 \
  -p 443:443 \
  -v /root/npm/data:/data \
  -v /root/npm/letsencrypt:/etc/letsencrypt \
  --restart always \
  jc21/nginx-proxy-manager:latest

5. 配置 HTTPS 访问

  1. 浏览器打开 http://你的IP:81,默认账号:admin@example.com,密码:changeme

  2. 进入 Hosts -> Proxy Hosts,点击 Add Proxy Host,分别反代8080,3012端口。

  3. Details 栏设置

    • Domain Names: 填入你的域名。

    • Forward Name/IP: 填入服务器公网 IP 或 内网ip。

    • Forward Port: 分别填入 8080、3012

    • Websockets支持打开。

  4. SSL 栏设置

    • SSL Certificate: 选择 Request a new SSL Certificate

    • 勾选 Force SSLHTTP/2 Support

    • 勾选同意 Let's Encrypt 条款,点击 Save


6. 安全加固(必做!)

为了防止别人在你的服务器上注册账号,当你自己注册好账号后,请务必关闭注册功能:

  1. 如果你用的是 Compose:将 SIGNUPS_ALLOWED 改为 false,再运行 docker compose up -d

  2. 如果你用的是 Run

    Bash

    docker stop vaultwarden
    docker rm vaultwarden
    # 重新运行并将参数改为 false
    docker run -d --name vaultwarden \
      -e SIGNUPS_ALLOWED=false \
      -v /root/vaultwarden/vw-data:/data \
      -p 8080:80 \
      -p 3012:3012 \
      --restart unless-stopped \
      vaultwarden/server:latest
    

7. 客户端如何使用?

在手机端或浏览器插件登录时,不要直接输账号密码

  1. 点击登录界面左上角的 设置齿轮

  2. 自托管服务器 URL 处填入:https://你的域名

  3. 保存后回到登录页面,即可正常登录。


结语:数据无价,建议定期备份服务器上的 vw-data 目录

0
博主关闭了当前页面的评论