切换主题
在 lidong 部署 Vaultwarden 密码管理器
前言
在当今数字化时代,我们每天都需要使用大量的账号和密码。使用简单或重复的密码会带来严重的安全风险,而记住众多复杂密码又几乎不可能。这就是为什么我们需要一个可靠的密码管理工具。
Vaultwarden 是 Bitwarden 的一个非官方实现,它是一个开源的密码管理解决方案,允许您安全地存储和管理您的密码、信用卡信息、身份信息和其他敏感数据。与商业密码管理器不同,Vaultwarden 可以自托管,这意味着您的数据完全由您自己控制,不依赖于第三方服务。
为什么选择 Vaultwarden
相比其他密码管理工具,Vaultwarden 具有以下优势:
- 完全开源,代码透明可审计
- 可以完全控制自己的数据
- 资源占用低,适合在 VPS 上运行
- 支持所有主流平台和浏览器
Vaultwarden 的主要特点:
- 开源且免费:完全开源,无需支付订阅费用
- 自托管:您的数据存储在您自己的服务器上,提高隐私保护
- 跨平台支持:提供 Windows、macOS、Linux、iOS 和 Android 客户端
- 浏览器扩展:支持 Chrome、Firefox、Safari 等主流浏览器
- 强大的加密:使用 AES-256 加密、PBKDF2 和 SHA-256 哈希算法
- 资源占用低:相比官方 Bitwarden 服务器,Vaultwarden 对系统资源要求更低
- 功能丰富:支持密码生成、安全笔记、身份信息管理、文件附件等
安全提示
在开始部署之前,请确保:
- 您的服务器已经配置了防火墙
- 使用 HTTPS 访问 Vaultwarden
- 定期备份您的数据
- 使用强密码保护您的账户
本教程将指导您如何使用 Docker 在自己的服务器上部署 Vaultwarden,并进行基本配置和使用。
适用环境
本教程适用于 Ubuntu 22.04 系统,其他 Linux 发行版可能需要调整部分命令。
1. 安装 Docker 和 Docker Compose
bash
# 更新软件包索引,下载 Docker 官方 GPG 密钥,并允许所有人读取
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 将 Docker 仓库添加到 Apt 源列表
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# 安装 docker 软件包
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
# 启动 docker 服务和开机自启
systemctl enable docker
systemctl restart docker
# 验证安装
systemctl status docker
docker compose version验证安装
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since ...
2. 安装 vaultwarden
准备工作
在开始安装之前,请确保:
- 已经配置好域名并指向您的服务器
- 已经安装好 nginx 并配置好 SSL 证书
- 防火墙已开放相应端口
bash
# 创建数据目录
mkdir -p /opt/vaultwarden
cd /opt/vaultwarden
# 创建 docker-compose.yml 文件
sudo cat > /opt/vaultwarden/docker-compose.yml <<EOF
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vw.domain.tld/vault" ## 修改为您自己的域名
volumes:
- ./vw-data/:/data/
ports:
- 10080:80 ## (可选)修改前面的映射端口
EOF
# 启动服务
docker compose up -d执行docker ps查看程序启动状态 
3. 配置反向代理
反向代理配置
我们建议使用 Nginx 作为反向代理,并配置 SSL 证书以确保安全。
以 nginx 为例,修改 nginx.conf,添加类似于如下配置:
bash
location /vault/ { # 注意这个路径和上面 docker 配置的域名路径名一致
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:10080;
}重启 nginx:service nginx restart
使用浏览器访问 https://vw.domain.tld/vault
4. 账户设置和浏览器插件使用
4.1 创建账户
点击"创建账户"

填写您的账户信息

密码安全
- 使用强密码(至少 12 个字符,包含大小写字母、数字和特殊字符)
- 建议使用密码生成器生成主密码
- 妥善保管您的主密码,这是恢复账户的唯一方式
- 创建完成后,登录您的账户

4.2 安装浏览器扩展
安装扩展

配置扩展信息,固定到标签栏

选择自托管,输入您的域名(如
https://vw.domain.tld/vault),再输入您注册的账户和密码
之后登录或注册网站时,会提示您是否要保存密码

5. 安全建议
重要安全提示
- 定期备份您的数据目录(
/opt/vaultwarden/vw-data/) - 启用双因素认证(2FA)
- 定期更新 Vaultwarden 到最新版本
- 监控服务器日志,及时发现异常
- 使用强密码保护您的账户
6. 故障排除
6.1 常见问题
无法访问 Web 界面
- 检查 Docker 容器是否正常运行:
docker ps - 检查端口是否正确映射:
netstat -tulpn | grep 10080 - 检查 Nginx 配置是否正确
- 检查 Docker 容器是否正常运行:
无法保存密码
- 检查浏览器扩展是否正确配置
- 确认服务器地址是否正确
- 检查网络连接是否正常
数据同步问题
- 检查服务器状态
- 尝试重新登录账户
- 检查网络连接
6.2 日志查看
bash
# 查看容器日志
docker logs vaultwarden
# 实时查看日志
docker logs -f vaultwarden7. 备份与恢复
7.1 备份数据
bash
# 创建备份目录
mkdir -p /backup/vaultwarden
# 备份数据
tar -czf /backup/vaultwarden/backup-$(date +%Y%m%d).tar.gz /opt/vaultwarden/vw-data/7.2 恢复数据
bash
# 停止服务
cd /opt/vaultwarden
docker compose down
# 恢复数据
tar -xzf /backup/vaultwarden/backup-YYYYMMDD.tar.gz -C /
# 重启服务
docker compose up -d备份建议
- 建议设置自动备份脚本
- 将备份文件存储在安全的位置
- 定期测试备份的可用性
8. 更新 Vaultwarden
bash
# 进入项目目录
cd /opt/vaultwarden
# 拉取最新镜像
docker compose pull
# 重启服务
docker compose up -d更新建议
- 更新前先备份数据
- 关注 Vaultwarden 的更新日志
- 建议定期检查更新