vaultwarden 是開源的密碼管理器解決方案,擁有多個平臺的客戶端。它采用的方式是雲端數據庫、客戶端同步和離線使用的模式,非常有名,就不多介紹了。
基於 bitwarden 開源項目,用 ruby 實現的 bitwarden_rs,相比閉源代碼更安全,並且支持 docker 部署、HTTPS 保證傳輸安全。
根據 bitwarden 的文檔,服務端數據是加密後存儲的,解密需要用戶設置的主密碼,即使服務端被攻破,密碼不那麽容易泄露。
官方開發維護的多平臺客戶端(包括 Win/Mac/Linux/iOS/Andriod)和常用瀏覽器擴展,美觀和易用性上都有保證,也支持 TOTP 二次認證碼保存;
安裝 Docker 與 Nginx Proxy Manager
可以看 搭建一個反向代理神器:Nginx Proxy Manager
安裝Bitwarden (vaultwarden)
創建安裝目錄
mkdir bitwarden && cd bitwarden
nano docker-compose.yaml
複制貼上以下代碼:
version: '3'
services:
vaultwarden:
container_name: vaultwarden
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- ./data/:/data/
ports:
- 8080:80
environment:
- DOMAIN=https://bitwarden.example.com # 這是你想要用來登錄Vaultwarden域名。
- LOGIN_RATELIMIT_MAX_BURST=10 # 允許在一次登錄/兩步驗證嘗試中的最大請求次數
- LOGIN_RATELIMIT_SECONDS=60 # 這是來自同一IP的登錄請求之間的平均秒數。
- ADMIN_RATELIMIT_MAX_BURST=10 # 跟LOGIN_RATELIMIT_MAX_BURST相同。
- ADMIN_RATELIMIT_SECONDS=60 # 跟LOGIN_RATELIMIT_SECONDS相同
- ADMIN_SESSION_LIFETIME=20 #
- ADMIN_TOKEN=YourReallyStrongAdminTokenHere # Vaultwarden管理員面板的令牌,如果未設置此值,則管理員面板將被禁用。
- SENDS_ALLOWED=true #
- EMERGENCY_ACCESS_ALLOWED=true # 控制是否使用靜態文件的托管。
- SIGNUPS_ALLOWED=true # 控制新用戶是否可以在沒有邀請的情況下註冊賬戶。
然後點擊”ctrl + x”後,再按”Y”保存文件,然後輸入:
docker-compose up -d
反向代理
如果 Nginx Proxy Manager 和 vaultwarden 在同一台VPS上,可輸入:
ip addr show docker0
然後登錄Nginx Proxy Manager ,反向代理 http://ip:6666
如果你只是想自已使用,你可以在註冊完後禁用註冊。
cd bitwarden
nano docker-compose.yaml
把SIGNUPS_ALLOWED 改為 false
然後點擊”ctrl + x”後,再按”Y”保存文件,然後輸入:
docker-compose up -d