搬瓦工部署 Bitwarden 密码管理器

Bitwarden 是一款开源的密码管理器,支持跨平台同步密码、自动填充和安全笔记等功能。官方的 Bitwarden 服务端对配置要求较高(需要 2GB+ 内存),而社区开发的 Vaultwarden(原 bitwarden_rs)是一个轻量级替代方案,完全兼容 Bitwarden 客户端,只需 64MB 内存即可运行。本文使用 Vaultwarden 进行部署。

一、方案推荐

Vaultwarden 资源占用极低,搬瓦工任何 KVM 方案都可以运行:

  • 最低配置:512MB 内存,完全够用。
  • 推荐配置:1 核 1GB 内存,可以同时运行其他服务。

具体方案参考 搬瓦工全部在售方案

二、前置准备

  • 已安装 Docker 和 Docker Compose,参考 Docker 安装教程
  • 已将域名解析到服务器 IP(密码管理器必须使用 HTTPS)。
  • 防火墙已开放 80 和 443 端口。

三、创建项目目录

mkdir -p /opt/vaultwarden && cd /opt/vaultwarden

四、编写 Docker Compose 文件

nano docker-compose.yml

写入以下内容:

version: '3.8'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    restart: always
    ports:
      - "8080:80"
    environment:
      DOMAIN: "https://your-domain.com"
      ADMIN_TOKEN: "your_strong_admin_token_change_me"
      SIGNUPS_ALLOWED: "true"
      WEBSOCKET_ENABLED: "true"
      LOG_FILE: "/data/vaultwarden.log"
      LOG_LEVEL: "info"
    volumes:
      - vw_data:/data

volumes:
  vw_data:

关键配置说明:

  • DOMAIN:你的域名,必须使用 HTTPS。
  • ADMIN_TOKEN:管理面板的访问令牌,请使用一个长随机字符串。生成方法:openssl rand -base64 48
  • SIGNUPS_ALLOWED:是否允许注册。建议自己注册后改为 false

五、启动服务

docker compose up -d

验证服务是否正常运行:

docker compose ps
docker compose logs

六、配置 Nginx 反向代理和 HTTPS

密码管理器传输的是敏感数据,HTTPS 是必须的。安装 Nginx 和 Certbot:

apt install nginx certbot python3-certbot-nginx -y

创建 Nginx 配置:

nano /etc/nginx/sites-available/vaultwarden
server {
    listen 80;
    server_name your-domain.com;

    client_max_body_size 128M;

    location / {
        proxy_pass http://127.0.0.1:8080;
        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;
    }

    location /notifications/hub {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

启用站点并申请证书:

ln -s /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
certbot --nginx -d your-domain.com

七、创建账号

在浏览器中访问 https://your-domain.com,点击"创建账号"注册你的密码库账号。

重要:注册完成后,立即修改 docker-compose.yml 中的 SIGNUPS_ALLOWEDfalse,然后重新部署:

docker compose down
docker compose up -d

这样可以防止他人注册账号占用你的服务器资源。

八、管理面板

Vaultwarden 提供了一个管理面板,可以管理用户、查看注册情况和调整服务器配置。访问地址为:

https://your-domain.com/admin

输入你在 ADMIN_TOKEN 中设置的令牌即可登录。在管理面板中你可以:

  • 查看和管理所有注册用户。
  • 邀请新用户(无需开放公开注册)。
  • 修改服务器设置。
  • 查看系统诊断信息。

九、客户端配置

Bitwarden 提供全平台客户端,Vaultwarden 完全兼容:

9.1 浏览器插件

安装 Bitwarden 浏览器扩展(Chrome、Firefox、Edge 等),在登录前点击设置图标,将"服务器 URL"修改为你的域名:

https://your-domain.com

然后使用注册的账号密码登录。

9.2 桌面客户端

下载 Bitwarden 桌面应用(Windows、macOS、Linux),同样在登录前设置自定义服务器地址。

9.3 手机客户端

在 iOS App Store 或 Android Google Play 下载 Bitwarden 应用,在登录页面点击"自托管",填入服务器 URL。

十、安全加固

10.1 禁用公开注册

注册完成后务必将 SIGNUPS_ALLOWED 设为 false

10.2 限制管理面板访问

可以通过 Nginx 限制管理面板只允许特定 IP 访问:

location /admin {
    allow 你的IP地址;
    deny all;
    proxy_pass http://127.0.0.1:8080;
    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;
}

10.3 启用两步验证

登录 Bitwarden Web 界面后,进入"设置" > "安全" > "两步登录",强烈建议开启 TOTP 两步验证(需要手机上安装 Google Authenticator 或类似应用)。

10.4 防火墙配置

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow ssh
ufw enable

只开放必要端口,不要将 8080 端口直接暴露到公网。

十一、数据备份

Vaultwarden 的所有数据存储在 Docker 卷中,需要定期备份:

nano /opt/vaultwarden/backup.sh
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M)
BACKUP_DIR="/opt/backups/vaultwarden"
mkdir -p $BACKUP_DIR

# 备份数据卷
docker run --rm \
  -v vaultwarden_vw_data:/data \
  -v $BACKUP_DIR:/backup \
  alpine tar czf /backup/vaultwarden_$DATE.tar.gz -C /data .

# 删除 60 天前的备份
find $BACKUP_DIR -name "*.tar.gz" -mtime +60 -delete
chmod +x /opt/vaultwarden/backup.sh

设置每天自动备份:

echo "0 4 * * * /opt/vaultwarden/backup.sh" | crontab -

十二、升级 Vaultwarden

cd /opt/vaultwarden
docker compose pull
docker compose down
docker compose up -d

升级前建议先运行备份脚本。

十三、常见问题

客户端无法连接

确认服务器 URL 配置正确(必须包含 https://),SSL 证书有效,防火墙开放了 443 端口。

忘记管理面板令牌

查看 docker-compose.yml 中的 ADMIN_TOKEN 字段,或修改后重新部署。

WebSocket 连接失败

确保 Nginx 配置中包含了 /notifications/hub 的 WebSocket 代理配置。

总结

通过 Vaultwarden 在搬瓦工 VPS 上部署自托管密码管理器,你可以完全掌控自己的密码数据,同时享受 Bitwarden 全平台客户端的便利。资源占用极低,搬瓦工最低配方案即可运行。购买 VPS 时使用优惠码 NODESEEK2026 享受折扣,购买流程参考 搬瓦工购买攻略

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。