OffshoreVps
教程2026年10月5日阅读约 6 分钟作者:OffshoreVps 团队

用 Docker 在 VPS 上自托管 Vaultwarden

运行你自己的兼容 Bitwarden 的密码服务器:Compose 文件、哈希管理员令牌、HTTPS、关闭注册,以及经过测试的备份。

Vaultwarden 是一个轻量级、兼容 Bitwarden 的密码服务器。你可以使用常规的 Bitwarden 应用和浏览器扩展,但密码库存放在你自己掌控的服务器上。它占用的内存很少,所以一台小型 VPS 就足够了。由于它保管着你的密码,请认真地进行设置。

VPS 上的终端窗口,显示自托管 Vaultwarden 所用的命令,以“mkdir -p ~/vaultwarden && cd ~/vaultwarden”开头
本指南中你将在服务器上运行的那类命令。

开始之前

更多背景信息请见我们的 自托管 Vaultwarden 页面。

第 1 步:Docker Compose 文件

mkdir -p ~/vaultwarden && cd ~/vaultwarden
cat > compose.yaml <<'EOF'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"
      SIGNUPS_ALLOWED: "true"   # switch to false after you create your account
      ADMIN_TOKEN: "${ADMIN_TOKEN}"
    volumes:
      - ./data:/data
    ports:
      - "127.0.0.1:8081:80"
EOF

第 2 步:生成管理员令牌

管理页面可让你管理用户。请保存经过哈希处理的令牌,而不是明文。Vaultwarden 镜像自带一个辅助工具:

docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
本指南的步骤依次为:1. 开始之前;2. Docker Compose 文件;3. 生成管理员令牌;4. 用 Caddy 配置 HTTPS;5. 开启两步登录;6. 备份密码库
本指南的步骤,按顺序排列。

第 3 步:启动

docker compose up -d
docker compose logs -f

第 4 步:使用 Caddy 启用 HTTPS

Bitwarden 客户端要求使用 HTTPS。

vault.example.com {
  reverse_proxy 127.0.0.1:8081
}

重新加载 Caddy 并打开网站。创建你的账户,然后将 SIGNUPS_ALLOWED 设为 false 并再次运行 docker compose up -d,以免陌生人注册。

第 5 步:开启两步验证登录

在网页版密码库中,使用验证器应用或硬件密钥启用两步验证登录。请将恢复码离线保存。

备份密码库

所有数据都在 ./data 中,主要是 SQLite 数据库和附件。请定期制作一致性副本,并将其保存在服务器之外:

sqlite3 data/db.sqlite3 ".backup '/backup/vaultwarden-$(date +%F).sqlite3'"
tar czf /backup/vw-files-$(date +%F).tgz data/attachments data/rsa_key*

请至少测试一次恢复。从未测试过的备份只是一种希望。