Skip to content

Vaultwarden 简介

Vaultwarden(原名 Bitwarden_RS)是 Bitwarden 官方密码管理器的高性能 Rust 重写版本,兼容所有 Bitwarden 客户端。它轻量、易部署、资源占用低,适合个人和小团队自托管安全密码库。

主要特点

  • 安全加密:端到端加密,数据本地存储
  • 全平台支持:Web、桌面、手机、浏览器插件
  • 轻量高效:资源占用极低,树莓派也能运行
  • 丰富功能:支持2FA、组织、附件、API等
  • 自托管:数据完全掌控

准备工作

在开始部署之前,请确保您已经具备以下条件:

  1. 已安装 Docker 和 Docker Compose(参考本站 Linux Docker 安装教程
  2. 服务器配置建议:
    • CPU: 1核以上
    • 内存: 512MB 以上
    • 存储: 1GB 可用空间

使用 Docker Compose 部署 Vaultwarden

1. 创建并进入项目目录

bash
mkdir -p ~/vaultwarden/data
cd ~/vaultwarden

2. 创建 docker-compose.yml 文件

bash
cat > docker-compose.yml << 'EOF'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    ports:
      - "8222:80"
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - ADMIN_TOKEN=你的管理后台口令 # 可选,建议设置
EOF

参数说明

  • ports:默认 8222:80,冒号前可修改为宿主机端口
  • volumes:必须挂载 /data 目录以持久化密码库数据
  • ADMIN_TOKEN:建议设置强密码,用于访问管理后台 http://IP:8222/admin
  • TZ:时区设置,建议保持 Asia/Shanghai

3. 启动 Vaultwarden 服务

bash
docker compose up -d

4. 验证部署

bash
docker ps | grep vaultwarden

如果看到容器状态为 Up,说明服务已成功启动。

基本配置

1. 访问 Vaultwarden

在浏览器中访问:

bash
http://你的服务器IP:8222

首次访问需注册主账户。

2. 域名与HTTPS访问(推荐)

如需通过自定义域名和HTTPS访问,推荐搭配 Nginx Proxy Manager 进行反向代理与SSL证书配置。

详细教程请参考:使用Docker快速部署Nginx Proxy Manager实现多域名反向代理

数据备份与恢复

1. 备份数据

Vaultwarden 的所有数据都存储在 ./data 目录下,可以通过以下命令进行备份:

bash
# 创建备份文件
tar -czvf vaultwarden-backup-$(date +%Y%m%d).tar.gz -C ~/vaultwarden/data .

2. 恢复数据

bash
# 停止服务
cd ~/vaultwarden
docker compose down

# 恢复备份(请将 YYYYMMDD 替换为实际备份日期)
tar -xzvf vaultwarden-backup-YYYYMMDD.tar.gz -C ~/vaultwarden/data

# 重新启动服务
docker compose up -d

常见问题(FAQ)

问题解决方案
如何更新 Vaultwarden?在项目目录运行:docker compose pull && docker compose up -d --force-recreate
如何查看日志?docker logs vaultwarden 查看实时输出
如何修改访问端口?编辑 docker-compose.ymlports,如 8223:80,然后 docker compose restart
如何启用/关闭注册?environment 添加 SIGNUPS_ALLOWED=false 后重启容器

总结

通过本教程,您已成功使用 Docker 部署了 Vaultwarden 密码管理器。Vaultwarden 提供了高安全性、易用的密码管理平台,是个人和团队自托管的理想选择。


如果在使用过程中遇到任何问题,欢迎在评论区留言,我会尽快为您解答。