打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

数据主权:在搬瓦工 VPS 上部署 Vaultwarden (Bitwarden) 密码管理器

来自md5.pw
Liam留言 | 贡献2026年1月24日 (六) 15:39的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

数据主权:在搬瓦工 VPS 上部署 Vaultwarden (Bitwarden) 密码管理器

在数据泄露事件频发的今天,将密码托管在第三方服务器(如 LastPass)始终存在隐患。Vaultwarden 是大名鼎鼎的开源密码管理器 Bitwarden 的轻量化服务端(基于 Rust 编写),它完美兼容 Bitwarden 的所有官方客户端(iOS/Android/浏览器插件),但资源占用极低,非常适合在搬瓦工(BandwagonHost)VPS 上运行。

本文将指导你使用 Docker 搭建一套属于自己的、端到端加密的密码管理系统。

为什么选择在搬瓦工自建?

  • 数据掌控:你的密码数据库加密存储在你自己的 VPS 磁盘上,不再受制于人。
  • 极致粘性:搬瓦工提供的高 SLA 保证和自动快照(Snapshot)功能,为密码库的持久化存储提供了双重保险。
  • 完全免费:解锁 Bitwarden 官方的高级会员功能(如 TOTP 二步验证、附件存储等)。

准备工作

  • 一台搬瓦工 VPS(任何套餐均可,内存 512MB 以上即可)。
  • 一个域名(解析到 VPS 的 IP)。
  • 已安装 Docker 和 Docker Compose。

第一步:部署环境配置

为了简化 HTTPS 证书的申请过程,我们将使用 Caddy 作为 Web 服务器(它会自动申请并续期 SSL 证书),配合 Vaultwarden 运行。

1. 创建工作目录

mkdir -p /opt/vaultwarden
cd /opt/vaultwarden

2. 创建 docker-compose.yml

nano docker-compose.yml

写入以下内容(请修改域名和 ADMIN_TOKEN):

version: '3'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      # 开启管理后台,请生成一个复杂的随机字符串作为 Token
      # 可以在终端使用 `openssl rand -base64 48` 生成
      - ADMIN_TOKEN=请替换为你的随机长字符串
      # 允许注册 (建议搭建完成后改为 false 以关闭注册)
      - SIGNUPS_ALLOWED=true
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2
    container_name: caddy
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./caddy-data:/data
      - ./caddy-config:/config
    depends_on:
      - vaultwarden

3. 配置 Caddy 自动 HTTPS

创建 Caddy 配置文件:

nano Caddyfile

写入以下内容(将 `your-domain.com` 替换为你的真实域名):

your-domain.com {
    # 反向代理到 vaultwarden 容器的 80 端口
    reverse_proxy vaultwarden:80
}

第二步:启动服务

在 `/opt/vaultwarden` 目录下执行:

docker compose up -d

稍等片刻,Caddy 会自动向 Let's Encrypt 申请 SSL 证书。打开浏览器访问你的域名 `https://your-domain.com`,如果看到蓝色的 Bitwarden 登录界面,说明部署成功!

第三步:初始设置与安全加固

1. 注册账号

点击“创建账号”,注册你的主账号。

2. 关闭新用户注册(重要!)

为了防止陌生人恶意注册占用你的资源,建议注册完自己账号后,立即关闭注册功能。

修改 `docker-compose.yml`:

      - SIGNUPS_ALLOWED=false

然后重启容器生效:

docker compose up -d

第四步:数据备份(核心)

密码库是核心资产,备份重于泰山。得益于搬瓦工的 KiwiVM 面板,我们可以轻松保护数据。

方案 A:KiwiVM 自动快照 (推荐)
进入搬瓦工 KiwiVM 后台 -> Snapshots -> 将 Automatic snapshots 设置为 "Sticky"(永久保留最新的 2 个快照)。这样即使你误删了文件,也能一键回滚。
方案 B:手动导出
登录你的 Vaultwarden 网页版后台,定期在“工具” -> “导出密码库”中下载 JSON/CSV 备份。

客户端连接方法

  • 下载 Bitwarden 官方手机 App 或浏览器插件。
  • 点击登录界面的 小齿轮图标(设置)。
  • 自托管环境 (Self-hosted environment) -> 服务器 URL 中填入你的域名(例如 `https://your-domain.com`)。
  • 保存后即可正常登录使用。

常见问题 (FAQ)

Q
为什么必须用 HTTPS?
A: Bitwarden 的加密算法依赖于 Web Crypto API,现代浏览器强制要求该 API 必须在 HTTPS 环境下才能运行。如果不用 HTTPS,你将无法注册或登录。
Q
内存占用大吗?
A: 极小。Vaultwarden 基于 Rust 编写,空闲时内存占用通常仅需 20MB-50MB,即便是搬瓦工最入门的套餐也能流畅运行。

Created by AlexLynn for md5.pw Community.