本地協作
首先,請確保您已安裝 Zed 的 後端依賴項。
資料庫設定
在您可以在本地端執行 collab
伺服器之前,您需要設定一個 zed
Postgres 資料庫。
script/bootstrap
此腳本將設定 zed
Postgres 資料庫,並填入一些使用者。它需要網路連線,因為它會從 GitHub API 擷取一些使用者。
此腳本會使用以下定義的各種內容來初始化資料庫
cat crates/collab/seed.default.json
若要使用不同的管理員使用者集,您可以建立自己的 json 檔案版本,並匯出 SEED_PATH
環境變數。請注意,目前在管理員清單中列出的使用者名稱必須對應到有效的 Github 使用者。
{
"admins": ["admin1", "admin2"],
"channels": ["zed"]
}
在本地端測試協作功能
在一個終端機中,執行 Zed 的協作伺服器和 livekit
開發伺服器
foreman start
在第二個終端機中,執行兩個或多個 Zed 執行個體。
script/zed-local -2
此腳本會啟動一到四個 Zed 執行個體,具體取決於 -2
、-3
或 -4
旗標。每個執行個體都會連線到本機 collab
伺服器,並以 .admins.json
或 .admins.default.json
中的不同使用者身分登入。
執行本機協作伺服器
如果您想執行自己的 zed 協作服務版本,您可以這麼做,但請注意,這仍在開發中,並且沒有良好的驗證或擴充功能支援。
設定是透過環境變數完成的。預設情況下,它會從 .env.toml
讀取設定,您應該將其用作設定指南。
預設情況下,Zed 假設 DATABASE_URL 是 Postgres 資料庫,但您可以透過使用 --features sqlite
編譯並使用帶有 ?mode=rwc
的 sqlite DATABASE_URL 來使其使用 Sqlite。
若要進行驗證,您必須先建立一個至少包含您的 github 處理常式的 seed.json 檔案來設定伺服器。這將用於按需建立使用者。
{
"admins": ["nathansobo"]
}
預設情況下,協作伺服器會在第一次建立資料庫時初始化資料庫,但如果您想新增更多使用者,您可以使用 SEED_PATH=./seed.json cargo run -p collab seed
明確地重新初始化它們。
然後,在執行 zed 客戶端時,您必須指定兩個環境變數,ZED_ADMIN_API_TOKEN
(應與 .env.toml 中的 API_TOKEN
值相符)和 ZED_IMPERSONATE
(應與 seed.json 中的其中一個使用者相符)