🚀 VPS 上的 Vaultwarden - 自托管 Bitwarden

在你自己的 VPS 上运行 Bitwarden 兼容密码服务器:Docker、Caddy HTTPS、管理员令牌、关闭注册、加密异地备份。

Vaultwarden 是轻量级的 Rust 服务端,兼容所有官方 Bitwarden 客户端:浏览器扩展、手机应用、桌面端。您的密码库以 SQLite 形式存放在自己的 VPS 上,位于您的域名和 HTTPS 证书之后。

1. 运行容器

apt update && apt install -y ufw
ufw allow OpenSSH && ufw allow 80/tcp && ufw allow 443/tcp && ufw --force enable
mkdir -p /opt/vaultwarden/data && cd /opt/vaultwarden
echo "ADMIN_TOKEN=$(openssl rand -base64 48)" > .env   # save this token!
cat > docker-compose.yml <<'EOF'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    restart: unless-stopped
    env_file: .env
    environment:
      - DOMAIN=https://vault.example.com
      - SIGNUPS_ALLOWED=true
      - WEB_VAULT_ENABLED=true
    ports:
      - "127.0.0.1:8085:80"
    volumes:
      - ./data:/data
EOF
docker compose up -d

面板只绑定在 `127.0.0.1`:互联网在下一步通过 Caddy 访问它。所有内容(`db.sqlite3` 密码库、附件、配置)都在 `./data` 中。

2. 用 Caddy 启用 HTTPS

apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
vault.example.com {
    reverse_proxy 127.0.0.1:8085
}
EOF
systemctl reload caddy

先把 A 记录指向服务器,然后打开 `https://vault.example.com` 注册您的账户:并且立即在 `docker-compose.yml` 中改为 `SIGNUPS_ALLOWED=false`,再次执行 `docker compose up -d`。管理面板位于 `/admin`,由 `ADMIN_TOKEN` 保护。

3. 客户端与备份

在任意 Bitwarden 客户端的登录界面选择 Self-hosted,并输入 `https://vault.example.com`。关于备份,整个密码库就是一个文件夹:按 restic 指南配置每日定时任务,即可在服务器之外保留加密副本:密码正是您最不想重建的数据。

常见问题

能和官方 Bitwarden 应用配合使用吗?

可以:浏览器扩展、iOS/Android 和桌面客户端都有自托管模式;填入您的域名,照常登录即可。两点说明:Bitwarden Send 等高级功能是 Vaultwarden 自己的实现,而官方仅限云端的功能(带云端计费的组织共享)只有在 Vaultwarden 实现了的情况下才可用。

需要多少资源?

非常少:约 100–200 MB 内存,同步时 CPU 也只占百分之几。Core VPS 4(€12/月)已经算奢侈,还能与其他服务共用;哪怕最小的套餐也绰绰有余,这正是重点:成本是您的自律,而不是账单。

相关内容

查看套餐指南常见问题