ローカルサーバーの管理
ローカルの Twenty コンテナを操作するには yarn twenty docker:* を使用します:
| コマンド | 機能 |
|---|
yarn twenty docker:start | サーバーを起動します(必要に応じてイメージを取得) |
yarn twenty docker:start 2.2.0 | 特定のサーバーバージョンを起動する |
yarn twenty docker:start --port 3030 | カスタムポートで起動 |
yarn twenty docker:stop | サーバーを停止します(データは保持) |
yarn twenty docker:status | URL、バージョン、ログイン資格情報を表示 |
yarn twenty docker:logs | サーバーログをストリーム表示 |
yarn twenty docker:reset | データを消去してクリーンに開始 |
yarn twenty docker:upgrade | twenty-app-dev の最新イメージを取得 |
yarn twenty docker:upgrade 2.2.0 | 特定のバージョンにアップグレードする |
データは再起動をまたいで、2 つの Docker ボリューム(PostgreSQL 用の twenty-app-dev-data、ファイル用の twenty-app-dev-storage)に永続化されます。 reset を使用して、すべてを消去します。
サーバーのバージョンを固定する
バージョンが指定されていない場合、docker:start は package.json 内のアプリの engines.twenty の範囲からバージョンを解決します。これは、アプリのインストール時にサーバーが検証に使用する範囲と同じです。 このコマンドは、その範囲を満たす最新の公開済み twenty-app-dev イメージを起動し、フィールドが存在しない場合や公開済みバージョンが一致しない場合は latest にフォールバックします。
{
"engines": {
"twenty": ">=2.2.0"
}
}
単回の実行でその範囲を上書きするには、バージョンを明示的に指定します: yarn twenty docker:start 2.3.0。 すでに別バージョンのコンテナが存在する場合、docker:start はその場でアップグレードします(データボリュームを保持したままコンテナを再作成します)。
サーバーイメージのアップグレード
yarn twenty docker:upgrade は最新のイメージを取得してダイジェストを比較し、実際に変更があった場合にのみコンテナを再作成します。 ボリュームは保持されます — 置き換えられるのはコンテナだけです。 新しいイメージが取得され、コンテナが稼働中だった場合、アップグレードは自動的に新しいコンテナを起動します。その後、yarn twenty docker:start を実行して、正常稼働になるまで待機します。
yarn twenty docker:upgrade # Latest
yarn twenty docker:upgrade 2.2.0 # Specific version
yarn twenty docker:status で実行中のバージョンを確認できます。コンテナの APP_VERSION が表示されます。
テスト用インスタンスを並行実行する
任意の docker:* コマンドに --test を指定すると、完全に分離された第2のインスタンスを管理できます。統合テストの実行や、メインの開発データに触れることなく試す際に便利です。
| コマンド | 機能 |
|---|
yarn twenty docker:start --test | テスト用インスタンスを起動します(デフォルトはポート2021)。 |
yarn twenty docker:stop --test | 停止する |
yarn twenty docker:status --test | ステータスを表示 |
yarn twenty docker:logs --test | ログをストリーム表示 |
yarn twenty docker:reset --test | データを消去 |
yarn twenty docker:upgrade --test | イメージをアップグレード |
テスト用インスタンスは、専用のボリューム(twenty-app-dev-test-data、twenty-app-dev-test-storage)と設定を備えた独自の Docker コンテナ(twenty-app-dev-test)内で実行されるため、メインのインスタンスと競合することなく並行して実行できます。 --test と --port を併用して、2021 を上書きできます。
手動セットアップ(スキャフォルダーなし)
既存プロジェクトに SDK を追加する場合はスキャフォルダーを省略します:
yarn add twenty-sdk twenty-client-sdk
package.json にスクリプトを追加します:
{
"scripts": {
"twenty": "twenty"
}
}
これで yarn twenty dev、yarn twenty docker:start などを実行できます。
twenty-sdk をグローバルインストールしないでください — プロジェクトごとに固定し、各アプリがそれぞれのバージョンを使用するようにします。