---
title: "自架 Vaultwarden 密碼管理器：網域、關閉註冊、團隊共享與備份"
description: "用 Zenavo 的範本把 Vaultwarden 部署到自己的伺服器上，綁定 HTTPS 網域，註冊後關閉公開註冊，設定電子郵件邀請同事，連接 Bitwarden 用戶端，並做好備份和升級。"
date: 2026-11-13
language: zh-TW
url: https://zenavo.app/zh-TW/blog/self-host-vaultwarden
---

# 自架 Vaultwarden 密碼管理器：網域、關閉註冊、團隊共享與備份

[Vaultwarden](https://github.com/dani-garcia/vaultwarden) 是一個開源的密碼管理伺服器端，相容 Bitwarden 的官方用戶端：瀏覽器擴充功能、桌面版、手機 App 和命令列工具都能直接連上它。它用 Rust 撰寫，記憶體用量很小，一台小伺服器就足以讓整個團隊使用。

把密碼庫放在自己的伺服器上，代表資料不經過第三方的雲端；也代表網域、註冊開關、備份和升級都要自己負責。本文用 Zenavo 的 Vaultwarden 範本，從部署一路走到備份。

Vaultwarden 是社群專案，與 Bitwarden 公司沒有關係。

## 部署 Vaultwarden

先在 Zenavo 中[連接一台 Linux 伺服器](https://docs.zenavo.app/zh-TW/servers/add-a-server)，再開啟 [Vaultwarden 範本](https://zenavo.app/deploy?template=vaultwarden)，選擇伺服器並部署。

目前範本的設定如下：

| 設定 | 值或用途 |
|---|---|
| 映像檔 | `vaultwarden/server:latest` |
| HTTP 連接埠 | `80` |
| 持久化目錄 | `/data`：SQLite 資料庫、附件、Send 檔案、登入用的金鑰和管理後台儲存的設定都在這裡 |

範本沒有預設任何環境變數。下面幾個步驟會把它們補齊。

## 先綁定網域，再註冊

Vaultwarden 的網頁版依賴瀏覽器的加密 API，只能在 HTTPS 下使用，所以**註冊帳號之前**先綁定網域。

在 vaultwarden 服務的 **網路** 頁為 `80` 連接埠綁定網域，例如 `vault.example.com`，在 DNS 新增指向伺服器的 A 記錄，等待 HTTPS 生效。步驟見[網域文件](https://docs.zenavo.app/zh-TW/networking/domains)。

接著在 **變數** 分頁新增：

```sh
DOMAIN=https://vault.example.com
```

儲存後重新啟動。`DOMAIN` 必須和你實際造訪的網址完全一致（包括 `https://`），郵件裡的連結和部分用戶端功能都依賴它。

## 建立帳號，然後關閉註冊

開啟 `https://vault.example.com`，點 **建立帳號**，設定電子郵件和主密碼。

**主密碼無法找回。** Vaultwarden 只儲存加密後的資料，連伺服器管理員也解不開。忘記主密碼就等於失去整個密碼庫，請把它記在安全的地方，或開啟用戶端的生物辨識解鎖作為日常入口。

範本預設允許任何人註冊。團隊成員都註冊完之後，在 **變數** 中新增：

```sh
SIGNUPS_ALLOWED=false
```

儲存後重新啟動。之後只有受組織邀請的人才能加入（`INVITATIONS_ALLOWED` 預設開啟）。如果只想允許公司信箱註冊，也可以保留註冊，改用 `SIGNUPS_DOMAINS_WHITELIST=example.com`。

## 設定電子郵件（邀請同事時需要）

邀請成員、驗證電子郵件、新裝置登入通知都需要寄信。在 **變數** 中加入你的 SMTP 服務：

```sh
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_SECURITY=starttls
SMTP_FROM=vault@example.com
SMTP_USERNAME=你的 SMTP 使用者名稱
SMTP_PASSWORD=你的 SMTP 密碼
```

如果服務商使用 465 連接埠，把 `SMTP_SECURITY` 改成 `force_tls`。儲存後重新啟動。變數值在 Zenavo 中加密儲存，並對團隊的觀察者隱藏。

## 團隊共享：組織和集合

在網頁版點 **新增組織**，建立一個組織，再依用途建立**集合**，例如「伺服器」「第三方帳號」「財務」。把要共享的項目放進集合，再邀請成員並指定他們可以存取哪些集合。

成員接受邀請後，組織管理員還要在成員清單裡**確認**一次，對方才看得到共享的內容。這一步是為了交換加密金鑰，屬於正常流程。

## 連接 Bitwarden 用戶端

所有 Bitwarden 用戶端都可以在登入頁選擇伺服器：

1. 在登入頁找到伺服器（或「登入至」）選項，選擇 **自我裝載**。
2. 伺服器 URL 填 `https://vault.example.com`。
3. 用你的電子郵件和主密碼登入。

瀏覽器擴充功能、桌面版和手機 App 都會在本機快取一份加密的密碼庫，伺服器短暫停機時仍能查看既有的項目。

## 管理後台（選用）

Vaultwarden 有一個 `/admin` 管理後台，可以查看使用者、刪除帳號、修改設定。沒有設定 `ADMIN_TOKEN` 時它是關閉的，我們建議保持關閉，需要時再開啟。

要開啟時，不要直接使用明文密碼。在 vaultwarden 服務的 **指令** 面板執行：

```sh
/vaultwarden hash
```

依提示輸入兩次密碼，它會輸出一串以 `$argon2id$` 開頭的字串。把整串當作 `ADMIN_TOKEN` 的值儲存，重新啟動後用剛才輸入的密碼登入 `https://vault.example.com/admin`。

注意：在管理後台儲存的設定會寫入 `/data/config.json`，並**覆蓋**同名的環境變數。之後如果修改變數沒有生效，先檢查管理後台裡是不是也設定過。

## 備份

伺服器端的所有資料都在 `/data` 磁碟區裡。在 vaultwarden 服務的 **備份與還原** 中備份這個磁碟區：

1. 挑一個沒有人在使用的時段，停止專案（磁碟區備份需要專案處於停止狀態）。
2. 建立備份，完成後啟動專案。這幾分鐘內，用戶端仍能讀取本機快取。
3. 下載一份備份自行保存。

備份檔包含加密後的密碼庫，但也包含附件和登入用的金鑰，請像保管密碼一樣保管它。另外建議每個人定期在網頁版用 **工具 → 匯出密碼庫** 匯出一份加密的 JSON，作為與伺服器無關的第二份副本。

備份要實際還原並核對過才算可靠。可以把備份還原到一個新專案，登入確認項目都還在。

## 升級

範本使用 `latest` 標籤，每次重新部署都可能拉到新版本。打算長期使用時，在服務 **設定** 的 **來源** 中把映像檔改成固定版本，例如 `vaultwarden/server:1.37.5`（以[發行頁面](https://github.com/dani-garcia/vaultwarden/releases)上的版本為準）。升級前先備份，讀完發行說明再更換版本。

## 常見問題

**網頁打不開，或顯示需要安全連線？**
網頁版只能透過 HTTPS 使用。請確認網域已經綁定、憑證已經生效，而且是用 `https://` 造訪。

**我關閉了註冊，要怎麼再加人？**
在組織裡邀請對方。設定好 SMTP 後，對方會收到邀請信；沒有 SMTP 時，受邀的電子郵件可以直接在網頁版註冊。

**忘記主密碼怎麼辦？**
無法找回，伺服器上沒有任何能解密的東西。只能刪除這個帳號重新註冊，原本的項目會遺失。這也是為什麼要定期匯出一份密碼庫。

**手機上沒有即時同步？**
網頁版和桌面版會透過 WebSocket 即時同步。手機 App 的推播通知需要到 [bitwarden.com/host](https://bitwarden.com/host) 申請安裝 ID 和金鑰，再設定 `PUSH_ENABLED=true`、`PUSH_INSTALLATION_ID` 和 `PUSH_INSTALLATION_KEY`。沒有設定時，手機 App 會在開啟或下拉重新整理時同步。

**需要多大的伺服器？**
Vaultwarden 本身通常只占用幾十 MB 記憶體，和其他應用程式共用一台小伺服器完全沒問題。

從 [Vaultwarden 範本](https://zenavo.app/deploy?template=vaultwarden)開始：先綁定網域，再註冊帳號、關閉註冊，最後安排好備份。
