數據主權:在搬瓦工 VPS 上部署 Vaultwarden (Bitwarden) 密碼管理器
出自md5.pw
更多語言
更多操作
這是此頁面最近一次修訂;沒有已批准修訂。
數據主權:在搬瓦工 VPS 上部署 Vaultwarden (Bitwarden) 密碼管理器
在數據泄露事件頻發的今天,將密碼託管在第三方伺服器(如 LastPass)始終存在隱患。Vaultwarden 是大名鼎鼎的開源密碼管理器 Bitwarden 的輕量化服務端(基於 Rust 編寫),它完美兼容 Bitwarden 的所有官方客戶端(iOS/Android/瀏覽器插件),但資源佔用極低,非常適合在搬瓦工(BandwagonHost)VPS 上運行。
本文將指導你使用 Docker 搭建一套屬於自己的、端到端加密的密碼管理系統。
為什麼選擇在搬瓦工自建?
- 數據掌控:你的密碼數據庫加密存儲在你自己的 VPS 磁盤上,不再受制於人。
- 極致粘性:搬瓦工提供的高 SLA 保證和自動快照(Snapshot)功能,為密碼庫的持久化存儲提供了雙重保險。
- 完全免費:解鎖 Bitwarden 官方的高級會員功能(如 TOTP 二步驗證、附件存儲等)。
準備工作
- 一台搬瓦工 VPS(任何套餐均可,內存 512MB 以上即可)。
- 一個域名(解析到 VPS 的 IP)。
- 已安裝 Docker 和 Docker Compose。
第一步:部署環境配置
為了簡化 HTTPS 證書的申請過程,我們將使用 Caddy 作為 Web 伺服器(它會自動申請並續期 SSL 證書),配合 Vaultwarden 運行。
1. 創建工作目錄
mkdir -p /opt/vaultwarden
cd /opt/vaultwarden
2. 創建 docker-compose.yml
nano docker-compose.yml
寫入以下內容(請修改域名和 ADMIN_TOKEN):
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
# 开启管理后台,请生成一个复杂的随机字符串作为 Token
# 可以在终端使用 `openssl rand -base64 48` 生成
- ADMIN_TOKEN=请替换为你的随机长字符串
# 允许注册 (建议搭建完成后改为 false 以关闭注册)
- SIGNUPS_ALLOWED=true
volumes:
- ./vw-data:/data
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy-data:/data
- ./caddy-config:/config
depends_on:
- vaultwarden
3. 配置 Caddy 自動 HTTPS
創建 Caddy 配置文件:
nano Caddyfile
寫入以下內容(將 `your-domain.com` 替換為你的真實域名):
your-domain.com {
# 反向代理到 vaultwarden 容器的 80 端口
reverse_proxy vaultwarden:80
}
第二步:啟動服務
在 `/opt/vaultwarden` 目錄下執行:
docker compose up -d
稍等片刻,Caddy 會自動向 Let's Encrypt 申請 SSL 證書。打開瀏覽器訪問你的域名 `https://your-domain.com`,如果看到蓝色的 Bitwarden 登錄界面,說明部署成功!
第三步:初始設置與安全加固
1. 註冊賬號
點擊「創建賬號」,註冊你的主賬號。
2. 關閉新用戶註冊(重要!)
為了防止陌生人惡意註冊佔用你的資源,建議註冊完自己賬號後,立即關閉註冊功能。
修改 `docker-compose.yml`:
- SIGNUPS_ALLOWED=false
然後重啟容器生效:
docker compose up -d
第四步:數據備份(核心)
密碼庫是核心資產,備份重於泰山。得益於搬瓦工的 KiwiVM 面板,我們可以輕鬆保護數據。
- 方案 A:KiwiVM 自動快照 (推薦)
- 進入搬瓦工 KiwiVM 後台 -> Snapshots -> 將 Automatic snapshots 設置為 "Sticky"(永久保留最新的 2 個快照)。這樣即使你誤刪了文件,也能一鍵回滾。
- 方案 B:手動導出
- 登錄你的 Vaultwarden 網頁版後台,定期在「工具」 -> 「導出密碼庫」中下載 JSON/CSV 備份。
客戶端連接方法
- 下載 Bitwarden 官方手機 App 或瀏覽器插件。
- 點擊登錄界面的 小齒輪圖標(設置)。
- 在 自託管環境 (Self-hosted environment) -> 伺服器 URL 中填入你的域名(例如 `https://your-domain.com`)。
- 保存後即可正常登錄使用。
常見問題 (FAQ)
- Q
- 為什麼必須用 HTTPS?
- A: Bitwarden 的加密算法依賴於 Web Crypto API,現代瀏覽器強制要求該 API 必須在 HTTPS 環境下才能運行。如果不用 HTTPS,你將無法註冊或登錄。
- Q
- 內存佔用大嗎?
- A: 極小。Vaultwarden 基於 Rust 編寫,空閒時內存佔用通常僅需 20MB-50MB,即便是搬瓦工最入門的套餐也能流暢運行。
Created by AlexLynn for md5.pw Community.