
在这个“万物皆需账号”的时代,记住成百上千个复杂的密码几乎是不可能的。使用密码管理器是唯一的出路。今天我们将使用 Vaultwarden(轻量版 Bitwarden)来搭建一个属于你自己的密码堡垒。
1. 为什么选择自搭建 Bitwarden?
数据自主:密码存在自己服务器上,不担心服务商跑路。
全功能免费:免费使用官方的高级会员功能,如 TOTP 二步验证、附件存储。
极其轻量:Vaultwarden 使用 Rust 编写,仅需不到 200MB 内存即可流畅运行。
2. 准备工作
服务器:一台 Linux 云服务器(推荐 Ubuntu/Debian)。
域名:已解析到服务器 IP。
基础环境:安装好 Docker。
快捷安装 Docker(如果还没装)
Bash
curl -fsSL https://get.docker.com | bash -s docker
3. 安装 Bitwarden (Vaultwarden)
我们提供两种安装方式,选其一即可。推荐使用 Docker Compose 以便后期维护。
方式 A:Docker Compose (推荐),含 WebSocket 端口
创建目录:
mkdir -p ~/vaultwarden && cd ~/vaultwarden创建文件:
nano docker-compose.yml粘贴以下内容:
YAML
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
- SIGNUPS_ALLOWED=true # 注册后请改为 false
- WEBSOCKET_ENABLED=true # 显式开启 WebSocket 支持
- DOMAIN=https://yourdomain.com
volumes:
- ./vw-data:/data
ports:
- "8080:80" # HTTP 网页访问端口
- "3012:3012" # WebSocket 同步端口启动:
docker compose up -d
方式 B:Docker Run (快速指令),含 WebSocket 端口
Bash
docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=true \
-e WEBSOCKET_ENABLED=true \
-v /vw-data/:/data/ \
-p 8080:80 \
-p 3012:3012 \
--restart unless-stopped \
vaultwarden/server:latest4. 安装 Nginx Proxy Manager (反向代理)
Bitwarden 必须配合 HTTPS 才能正常登录和同步。NPM 可以帮你轻松搞定证书。
Docker Run 安装指令
Bash
docker run -d \
--name nginx-proxy-manager \
-p 80:80 \
-p 81:81 \
-p 443:443 \
-v /root/npm/data:/data \
-v /root/npm/letsencrypt:/etc/letsencrypt \
--restart always \
jc21/nginx-proxy-manager:latest
5. 配置 HTTPS 访问
浏览器打开
http://你的IP:81,默认账号:admin@example.com,密码:changeme。进入 Hosts -> Proxy Hosts,点击 Add Proxy Host,分别反代8080,3012端口。
Details 栏设置:
Domain Names: 填入你的域名。
Forward Name/IP: 填入服务器公网 IP 或 内网ip。
Forward Port: 分别填入
8080、3012。Websockets支持打开。
SSL 栏设置:
SSL Certificate: 选择
Request a new SSL Certificate。勾选
Force SSL和HTTP/2 Support。勾选同意 Let's Encrypt 条款,点击 Save。
6. 安全加固(必做!)
为了防止别人在你的服务器上注册账号,当你自己注册好账号后,请务必关闭注册功能:
如果你用的是 Compose:将
SIGNUPS_ALLOWED改为false,再运行docker compose up -d。如果你用的是 Run:
Bash
docker stop vaultwarden docker rm vaultwarden # 重新运行并将参数改为 false docker run -d --name vaultwarden \ -e SIGNUPS_ALLOWED=false \ -v /root/vaultwarden/vw-data:/data \ -p 8080:80 \ -p 3012:3012 \ --restart unless-stopped \ vaultwarden/server:latest
7. 客户端如何使用?
在手机端或浏览器插件登录时,不要直接输账号密码。
点击登录界面左上角的 设置齿轮。
在 自托管服务器 URL 处填入:
https://你的域名。保存后回到登录页面,即可正常登录。
结语:数据无价,建议定期备份服务器上的
vw-data目录