跳到主要内容

Vaultwarden

Vaultwarden(原名 Bitwarden_RS)是 Bitwarden 密码管理器的非官方轻量级实现,使用 Rust 语言编写。它提供了与官方 Bitwarden 服务器相同的功能,但系统资源需求更低,更适合个人和小型团队自托管。

官方网站

Docker方式安装

Vaultwarden 非常适合通过 Docker 容器部署,以下是详细的安装步骤。

compose文件

创建 compose.yml 文件:

version: '3'

services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
- WEBSOCKET_ENABLED=true # 启用WebSocket通知
- DOMAIN=https://your-vaultwarden-domain.com # 替换为你的域名
# - ADMIN_TOKEN=your-admin-token # 取消注释并设置管理员令牌
volumes:
- ./data:/data
ports:
- "8080:80" # Web 界面
- "3012:3012" # WebSocket 通知
networks:
- vaultwarden_net

networks:
vaultwarden_net:
driver: bridge

env文件

如果你需要更多高级配置,可以创建一个 .env 文件代替在 compose.yml 中设置环境变量:

# 基本设置
DOMAIN=https://your-vaultwarden-domain.com
WEBSOCKET_ENABLED=true

# 管理页面设置(高度推荐设置随机生成的安全令牌)
ADMIN_TOKEN=your-strong-admin-token-here

# SMTP 邮件设置
SMTP_HOST=smtp.example.com
SMTP_FROM=vaultwarden@example.com
SMTP_PORT=587
SMTP_SECURITY=starttls # 可选: starttls, force_tls, off
SMTP_USERNAME=username
SMTP_PASSWORD=password

# 高级设置
# SIGNUPS_ALLOWED=false # 禁止新用户注册
# INVITATIONS_ALLOWED=true # 允许邀请新用户
# SHOW_PASSWORD_HINT=false # 禁用密码提示

启动

使用以下命令启动 Vaultwarden:

docker compose up -d

启动后,在浏览器中访问 http://your-server-ip:8080 进行初始设置并创建你的首个账户。

配置文件

Vaultwarden 的数据和配置存储在挂载的数据卷中:

  • 主要数据库: ./data/db.sqlite3
  • 附件: ./data/attachments
  • 图标缓存: ./data/icon_cache
  • 配置文件: ./data/config.json(某些设置)

备注

  1. 安全建议

    • 始终通过 HTTPS 访问你的 Vaultwarden 实例
    • 设置强管理员令牌并妥善保管
    • 考虑禁用公开注册 (SIGNUPS_ALLOWED=false)
    • 定期备份数据库和附件
  2. 客户端应用

    • Vaultwarden 兼容所有官方 Bitwarden 客户端
    • 可以在 Android、iOS、Windows、macOS、Linux 等平台使用
    • 浏览器扩展可用于 Chrome、Firefox、Safari、Edge 等
  3. 功能对比

    • Vaultwarden 支持几乎所有官方 Bitwarden 功能,包括:
      • 密码、笔记、身份信息和支付卡管理
      • 密码分享
      • 组织和集合
      • 两步验证
      • 目录连接(LDAP)
      • 紧急访问
    • 不支持的功能很少,主要是一些企业级功能
  4. 备份策略: 定期备份 ./data 目录,特别是 db.sqlite3 文件:

    # 备份示例
    tar -czf vaultwarden-backup-$(date +%Y%m%d).tar.gz ./data
  5. 资源需求

    • RAM: 最低 64MB,推荐 256MB+
    • CPU: 单核足够大多数用例
    • 存储: 取决于存储的附件,通常几百 MB 到几 GB