ローカルコラボレーション
最初に、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"]
}
コラボレーション機能のローカルでのテスト
1 つのターミナルで、Zed のコラボレーションサーバーと livekit
の開発サーバーを実行します
foreman start
2 番目のターミナルで、Zed のインスタンスを 2 つ以上実行します。
script/zed-local -2
このスクリプトは、-2
、-3
、または -4
フラグに応じて、Zed のインスタンスを 1 つから 4 つ開始します。各インスタンスは、.admins.json
または .admins.default.json
とは異なるユーザーとしてサインインした、ローカルの collab
サーバーに接続されます。
ローカル Collab サーバーの実行
Zed コラボレーションサービスの独自のバージョンを実行できますが、これはまだ開発中であり、認証や拡張機能の適切なサポートがありません。
構成は環境変数によって行われます。デフォルトでは .env.toml
から構成を読み取ります。これをガイドとして使用して設定する必要があります。
Zed はデフォルトで DATABASE_URL
が Postgres データベースであると見なしていますが、--features sqlite
でコンパイルし、?mode=rwc
を含む sqlite DATABASE_URL
を使用することで Sqlite を使用できます。
認証を行うには、最初に最低限 GitHub ハンドルを含む seed.json ファイルを作成してサーバーを構成する必要があります。これを使用してオンデマンドでユーザーを作成します。
{
"admins": ["nathansobo"]
}
Collab サーバーはデフォルトで最初に作成したときにデータベースをシードします。ただし、ユーザーを追加する場合は、SEED_PATH=./seed.json cargo run -p collab seed
で明示的に再度シードできます。
その後、zedクライアントを実行するとき、2つの環境変数を指定する必要があります。 ZED_ADMIN_API_TOKEN (これは.env.tomlの
(これはseed.json内のユーザーの1つと一致しなければなりません)API_TOKEN
の値と一致しなければなりません) と``ZED_IMPERSONATE