Vaultwarden 自建密码库:Docker 一键部署 + 多端同步实测

Vaultwarden 自建密码库:Docker 一键部署 + 多端同步实测

夜影
2026-10-16 / 0 评论 / 1 阅读 / 正在检测是否收录...

Vaultwarden 自建密码库:Docker 一键部署 + 多端同步实测

peitu1.png

密码这东西,越攒越多:网站账号、服务器 SSH、路由器后台、摄像头 NVR、各种 App……浏览器自带的密码管理器换台电脑就抓瞎,1Password、Bitwarden 官方云要么收费、要么数据在别人手里。我的解法是:在群晖 NAS 上用 Docker 跑 Vaultwarden——Bitwarden 服务器的轻量开源实现,几十 MB 内存就能跑,手机 App、浏览器插件、桌面客户端全兼容官方 Bitwarden 协议,数据完完全全在自己手里。

一、Vaultwarden 是干什么用的

一句话:自建的 Bitwarden 服务器。Bitwarden 是开源密码管理器,官方提供云服务;Vaultwarden 用 Rust 重写了服务端 API,功能对齐官方(密码库、TOTP、组织共享、附件、应急访问),但资源占用极低,树莓派、群晖这种小机器都能轻松跑。

为什么值得折腾:

  • 数据自主:密码库存在自家 NAS 的硬盘上,不经过第三方服务器。
  • 全端同步:官方 Bitwarden 客户端(iOS / Android / Windows / macOS / 浏览器插件)直接连自建地址登录,自动同步。
  • 离线可用:客户端有本地加密缓存,断网也能查密码。
  • 免费:核心功能全开,不用订阅。

二、Docker 一键部署(群晖 DSM 7.2)

群晖 Container Manager 里用「项目」(docker compose)部署最省事。先在 docker 共享文件夹下建好目录,比如 /volume1/docker/vaultwarden。

compose 文件如下:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      - DOMAIN=https://vw.example.com   # 改成你自己的域名
      - SIGNUPS_ALLOWED=true              # 先允许注册,建好账号后改成 false
      - ADMIN_TOKEN=换成一串强随机口令    # 后台管理 /admin 用
    volumes:
      - /volume1/docker/vaultwarden:/data
    ports:
      - "127.0.0.1:8080:80"

部署步骤:

  1. Container Manager → 项目 → 新增 → 项目名称填 vaultwarden,路径选 docker/vaultwarden,把上面 compose 内容粘进去,点「下一步」建好并启动。
  2. 容器跑起来后先别急着暴露公网——Bitwarden 客户端强制要求 HTTPS,纯 http 直连会报安全错误。去 DSM「登录门户 → 高级 → 反向代理服务器」加一条规则:来源 https://vw.example.com,目的地 http://localhost:8080,并配好 Let's Encrypt 证书。
  3. 浏览器打开 https://vw.example.com,注册你的管理员账号,然后立刻把 SIGNUPS_ALLOWED 改成 false 并重建容器——公开注册的密码库等于给全网开了个保险柜门,这一步不能忘。
  4. 访问 https://vw.example.com/admin,用 ADMIN_TOKEN 进后台,可以看到用户、组织与配置一览。

peitu2.png

到这一步服务端就绪。整个链路是:群晖 Docker 跑 Vaultwarden 容器 → DSM 反向代理做 HTTPS 统一入口 → 手机、电脑、浏览器各端连同一个域名同步。

三、多端同步实测

  • 网页端:浏览器直接打开域名登录,就是完整的密码库管理界面,新增、编辑、搜索、生成强密码都在这。
  • 手机端:装官方 Bitwarden App,登录时点齿轮把「自托管」服务器地址填成你的域名,登录后密码库秒同步。实测:手机上新增一条 NAS 登录,电脑端刷新即出现。
  • 浏览器插件:Chrome / Edge 装 Bitwarden 插件,同样填自托管地址,登录表单自动填充,体验和官方云无差别。
  • 离线:手机开飞行模式,已同步过的密码照样能查——客户端本地有加密缓存。

另外 TOTP(一次性验证码)也能直接存在条目里,扫码登录网站时自动填充验证码,手机上可以少装一个验证器 App。

四、避坑指南

  1. 必须 HTTPS:客户端依赖 Web Crypto,纯 http 下网页版直接报错,这是新手翻车最多的地方。
  2. 注册完立刻关闭公开注册:SIGNUPS_ALLOWED=false,否则任何人都能在你的服务器上注册账号。
  3. ADMIN_TOKEN 用强口令:/admin 后台能管理所有用户,别用弱口令。
  4. 备份 /data 目录:密码库本质是个 SQLite 文件,用 Hyper Backup 把 docker/vaultwarden 目录定时备份一份。丢了就是真丢了——没有官方客服能帮你找回。
  5. 端口别直接映射公网:上面 compose 绑的是 127.0.0.1:8080,只走 DSM 反向代理;需要外网访问就走你已有的内网穿透方案。
  6. 升级:Container Manager 里拉取最新的 vaultwarden/server 镜像后重建容器即可,数据都在映射卷里,不会丢。

五、怎么卸载

不想要了也很干净:Container Manager 里停止并删除 vaultwarden 项目和容器,删除 vaultwarden/server 镜像,最后删掉 /volume1/docker/vaultwarden 数据目录——密码数据彻底清除。各客户端退出登录并清除本地缓存即可。删数据目录前先确认已导出备份(网页端 → 工具 → 导出密码库,建议选加密 json),别手滑。

自建密码库这件事,门槛就是一台 NAS 加十分钟。数据回到自己手里之后,换设备、重装系统再也不用为密码发愁了。

相关旧文

0

评论 (0)

取消