找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2262

积分

0

好友

318

主题
发表于 昨天 04:28 | 查看: 9| 回复: 0

在 GitHub 上看到了 Vaultwarden 这个项目,它是一个 Bitwarden 密码管理器的自托管替代服务器,用 Rust 编写的。官方的 Bitwarden 服务器对硬件资源要求不低,而 Vaultwarden 就轻巧多了,跑在树莓派上都没问题。它几乎实现了 Bitwarden 的全部核心功能,自己搭建一个,将所有密码数据都存放在自己的服务器里,感觉更安心一些。

Vaultwarden 是什么?

Vaultwarden 密码管理器主界面

Vaultwarden 是一个用 Rust 编写的、完全兼容官方 Bitwarden 客户端的替代服务器实现。它更加轻量高效,非常适合个人或小团队自行搭建私有密码管理服务。这个项目以前的名字是 Bitwarden_RS

核心功能

轻量高效,省资源

与官方服务器相比,Vaultwarden 最显著的优点就是轻量。得益于 Rust 语言的高效特性,它在运行时内存占用极小,CPU 消耗也很低。你完全可以在树莓派或者最基础配置的云服务器上流畅地运行它。这对于个人用户或资源有限的小型团队来说非常实际,无需再为服务器性能不足而担忧。

Vaultwarden 项目编程语言构成图

功能齐全,够用了

别看它轻量,该有的核心功能基本都具备。个人密码库、文件夹分类管理、保存附件都没有问题。它还支持“组织”功能,可以创建团队并安全地共享密码。常用的两步验证(2FA)方式也都支持,例如 TOTP 验证器(如 Google Authenticator)和硬件安全密钥(如 YubiKey)。

Vaultwarden 文件夹与条目管理界面

完美兼容,无缝切换

这一点可能最重要:它完全兼容官方的 Bitwarden 客户端。你手机上、电脑上已经安装的官方 App 和浏览器插件都能直接使用,只需要在客户端的设置里将服务器地址改成你自己的 Vaultwarden 实例地址。之后所有的数据同步、自动填充等体验都与使用官方服务器时一模一样,实现了无缝切换。

部署简单,好上手

官方最推荐使用 Docker 部署,过程基本上就是拉取镜像、运行容器两步。通过 Docker 卷(volume)将容器内的数据目录映射到宿主机,可以实现数据持久化,备份起来也非常直接。项目的 Wiki 里还提供了搭配 Nginx、Caddy 等反向代理的配置示例,帮助你轻松设置好 HTTPS 安全访问,整体部署门槛不高。

自带管理后台

项目内置了一个简洁的 Web 管理界面。管理员可以在这里查看服务器的一些基本状态,例如活跃用户数量,也能进行一些用户管理操作,比如邀请新成员或停用账户。这对于维护自托管服务来说是一个非常实用的工具。

Vaultwarden Web 管理后台界面

安装指南

  1. 准备环境:首先确保你的服务器上已经安装了 Docker 环境。
  2. 拉取镜像:从 Docker Hub 拉取官方的 Vaultwarden 镜像。
    docker pull vaultwarden/server:latest
  3. 运行容器:使用 docker run 命令启动容器。关键点包括:

    • 使用 -v 参数将容器内的 /data 目录持久化映射到宿主机路径(例如 /vw-data/),确保数据安全。
    • 通过环境变量 DOMAIN 设置你的访问域名(需包含 https:// 协议头),这是网页版客户端正常工作所必需的。
    • 将容器内部的 80 端口映射到宿主机的某个端口(例如 8000)。

    一个基础的运行命令示例如下:

    docker run --detach --name vaultwarden \
    --env DOMAIN="https://your.domain.com" \
    --volume /vw-data/:/data/ \
    --restart unless-stopped \
    --publish 127.0.0.1:8000:80 \
    vaultwarden/server:latest

    运行后,你可以通过 http://服务器IP:8000 访问网页界面。为了安全,务必通过反向代理配置 HTTPS。

Vaultwarden Web 登录界面

Vaultwarden 作为一个优秀的 开源实战 项目,成功地将企业级密码管理工具带入了个人和小型组织的自托管场景。如果你正在寻找一个安全、可控且资源友好的密码管理方案,不妨试试在 云栈社区 与其他开发者交流部署心得,它很可能就是你要找的答案。




上一篇:C++中std::shared_ptr循环引用的5个典型场景与解决方案
下一篇:MiroThinker搜索智能体GitHub星标飙升,深度推理实战解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-14 16:01 , Processed in 0.505538 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表