一、简介
Vaultwarden是著名的Bitwarden项目的一个分支,是一个社区驱动的项目,使用Rust语言编写。它是Bitwarden的轻量级自托管替代方案,完全兼容Bitwarden客户端协议,支持通过Docker或Podman极速部署,几分钟内就能完成上线,极为便捷,尤其适合服务器资源有限、追求轻量化的用户。
二、主要特点
- 自托管:可以将其托管在自己的服务器或基础设施上,完全控制数据,减少对第三方服务和云提供商的依赖。
- 端到端加密:采用强大的端到端加密来保护密码和其他敏感信息,所有数据在发送到服务器之前都会在设备上进行加密,只有用户可以访问解密的数据。
- 开源和透明度:是一个开源项目,源代码可公开供审查,这种透明度促进信任,并允许安全专家审核代码,增强平台的整体安全性。
- 跨平台兼容性:服务器可与官方Bitwarden客户端配合使用,适用于各种平台,包括Windows、macOS、Linux、iOS和Android,能从任何设备轻松访问密码。
- 浏览器集成:使用Bitwarden的浏览器扩展,可将自托管Vaultwarden服务器与所有主要Web浏览器无缝集成,在浏览网页时自动填充登录凭据并直接访问密码。
- 活跃的社区支持:受益于活跃且参与的开发者和用户社区,为其持续的开发和支持做出贡献。
- 经济高效:与订阅基于云的密码管理服务相比,自托管Vaultwarden是一种经济高效的选择,特别是对于拥有特定托管资源的个人或组织而言。
- 资源占用低:相比官方服务器,内存占用显著降低,仅需约10MB内存。
- 完整功能支持:支持密码存储、安全笔记、信用卡信息、身份信息等核心功能。
三、部署要求
- Docker Engine:用于容器化部署和管理。
- Docker Compose:支持configs的版本,用于多容器应用的编排。
- 推荐服务器配置:CPU为2核心,内存为2GB RAM,存储为20GB+可用空间。
- 网络环境:要求支持https访问,需配备tls证书,如果是自签证书,需要浏览器信任。
四、部署步骤(以Docker Compose为例)
- 安装Docker和Docker Compose:
- 如果尚未安装Docker,可以参考相关指南,如在Ubuntu 22.04、Debian 12 (Bullseye)、AlmaLinux/Rocky Linux、Fedora、Linux Mint 21、树莓派等系统上的安装方法。
- 安装Docker Compose,可使用以下命令:
bash
1sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose 2sudo chmod +x /usr/local/bin/docker-compose
- 创建部署目录并编辑部署文件:
- 创建部署目录:
bash
1mkdir -p /data/vaultwarden && cd /data/vaultwarden
- 在部署目录下,创建docker-compose.yaml文件,示例内容如下:
yaml
1version: '3'
2services: 3 vaultwarden: 4 container_name: vaultwarden 5 image: vaultwarden/server:latest 6 restart: unless-stopped 7 volumes: 8 - ./data/:/data/ 9 ports: 10 - 8080:80 11 environment: 12 - DOMAIN=https://subdomain.yourdomain.com # 这是您希望与您的Vaultwarden实例关联的域名。 13 - LOGIN_RATELIMIT_MAX_BURST=10 # 允许在一阵登录/两步验证尝试中的最大请求次数。 14 - LOGIN_RATELIMIT_SECONDS=60 # 这是来自同一IP的登录请求之间的平均秒数,在Vaultwarden限制登录次数之前。 15 - ADMIN_RATELIMIT_MAX_BURST=10 # 这与LOGIN_RATELIMIT_MAX_BURST相同,只争对admin面板。 16 - ADMIN_RATELIMIT_SECONDS=60 # 这与LOGIN_RATELIMIT_SECONDS相同 17 - ADMIN_SESSION_LIFETIME=20 # 会话持续时间 18 - ADMIN_TOKEN=YourReallyStrongAdminTokenHere # 此值是Vaultwarden管理员面板的令牌(一种密码)。为了安全起见,这应该是一个长的随机字符串。如果未设置此值,则管理员面板将被禁用。建议openssl rand -base64 48生成ADMIN_TOKEN确保安全 19 - SENDS_ALLOWED=true # 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。 20 - EMERGENCY_ACCESS_ALLOWED=true # 此设置控制用户是否可以启用紧急访问其账户的权限。例如,这样做可以在用户去世后,配偶可以访问密码库以获取账户凭证。可能的值:true / false。 21 - WEB_VAULT_ENABLED=true # 此设置决定了网络保险库是否可访问。一旦您配置了您的账户和客户端,停止您的容器,然后将此值切换为false并重启Vaultwarden,可以用来防止未授权访问。可能的值:true/false。 22 - SIGNUPS_ALLOWED=true # 此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值:true / false。
- 注意:`DOMAIN` 改成最后要用的域名形式,`ADMIN_TOKEN` 可以在ssh里面输入 `openssl rand -base64 48` 生成。
- 创建Vaultwarden容器:
bash
1docker-compose up -d
- 配置反向代理(可选):为了便于长期维护和提供HTTPS服务,推荐使用Nginx或Caddy等反代服务。例如,使用Caddy作为反向代理,它可以自动颁发Let's Encrypt SSL证书。
五、访问Vaultwarden服务
安装以后,就可以通过ip:8080
访问Vaultwarden密码管理面板。如果配置了反向代理和HTTPS,可通过域名进行安全访问。