アップデートとスケーリング
2 日目の業務: 新しいリリースを取り込み、チームの成長に合わせて Kanera にさらに余地を与える。
アップデート
Kanera の各リリースには、次のようなタグが付けられたバージョンがあります。 v1.9.0 独自の docker-compose.yml。更新とは、新しいリリースの構成ファイルを交換し、そのイメージをプルすることを意味します。リリースをスキップできます。保留中のすべてのデータベース移行が更新中に順番に実行されるため、v1.9.0 から v1.12.0 に直接移行しても問題ありません。
最新リリースへのアップデート
あなたから kanera サーバー上のディレクトリ:
docker compose exec -T postgres pg_dump -U kanera kanera | gzip > kanera-$(date +%F).sql.gz
cp docker-compose.yml docker-compose.previous.yml
curl -fsSLo docker-compose.yml https://github.com/happendev/Kanera/releases/latest/download/docker-compose.yml
docker compose pull
docker compose up -d
docker compose logs migrate
実行する前に、以下をお読みください。 リリースノート 現在のバージョンと新しいバージョンの間のすべてのリリースに対して。新しい設定や 1 回限りの再接続など、アクションが必要な変更は、それを導入したリリースの下にリストされているため、v1.9.0 から v1.12.0 に移行するには、1.10.0、1.11.0、および 1.12.0 のノートを読む必要があります。
最新ではなく特定のリリースに移行するには、タグごとにその構成ファイルをダウンロードします。
curl -fsSLo docker-compose.yml https://github.com/happendev/Kanera/releases/download/v1.9.0/docker-compose.yml
実行しているバージョンを確認してください
docker compose images api
の TAG 列にはリリースが表示されます。例: 1.9.0。の最初の行 docker-compose.yml 名前も付けます。
アップデート前
- データベースをバックアップしてアップロードします。 の
pg_dump上記ではデータベースについて説明しています。のkanera_uploadsボリュームは個別にコピーする必要があります。両方に加え、次も保管してください:.env、サーバーのプライマリ ディスクから削除されます。参照 ストレージとバックアップ. - 以前の作成ファイルを保持します。 の
cp上記は次のように保存しますdocker-compose.previous.yml、これはロールバックする必要があるものです。 - 変更を避けてください
docker-compose.yml. アップデートによりそのファイルが置き換えられます。ポート、追加のネットワーク、またはその他のローカル変更をdocker-compose.override.ymlその隣に。 Compose はそれを自動的にマージし、更新ではそのままにしておきます。 - 現在の展開が正常であることを確認してください。 更新によって、既存のデータベース、ストレージ、またはルーティングの問題が隠れてはいけません。
アップデートを確認する
docker compose images api
docker compose ps --all
docker compose logs --tail=100 api worker public-api mcp
curl https://kanera.example.com/api/health
の api 画像には新しいバージョンが表示されるはずです。 migrate コード 0 で終了したと表示されるはずです。公開する場合は、パブリック API と MCP ヘルス エンドポイントも確認してください。次に、サインインして、入力済みのボードを開き、一時カードを作成および削除します。
アップデートに失敗した場合
- 移行が開始されませんでした: 構成エラーまたは環境エラーを修正して再実行します
docker compose up -d. - 移行は失敗しました: ログとバックアップを保存し、エラーを理解せずに繰り返し再実行しないでください。 問題を開く 次を使用して
migrateログ。 - 戻る必要があります: 古いリリースは、新しいリリースが移行したデータベースに対して実行できません。Kaneraを止めろ(
docker compose down)、更新前のデータベースとアップロードを復元し、以前の構成ファイルを戻します (mv docker-compose.previous.yml docker-compose.yml)、実行しますdocker compose up -d. - 実行中の新しいバージョンにバックアップを復元しないでください。復元手順を信頼する前に、別のデータベースまたはホストで復元手順をテストしてください。
スケーリングノート
デフォルトのデプロイでは、複数のアプリ API レプリカと 1 つのワーカーが使用されます。
API_REPLICASアプリの API プロセス数を制御します。デフォルトは2.PUBLIC_API_REPLICASパブリック API プロセス数を制御します。デフォルトは1.MCP_REPLICASMCP プロセス数を制御します。デフォルトは1.- キープする
workerまさに1. - Valkey は、リアルタイムのファンアウト、プレゼンス、共有レート制限に必要です。
サーバーに十分な CPU、メモリ、およびデータベース接続容量がある場合にのみ、レプリカを起動します。上げるなら API_REPLICAS、レビュー PG_POOL_MAX およびPostgreSQL max_connections.
一人の労働者は意図的です。スケジューラー、通知と Webhook の配信、およびクリーンアップ ジョブを実行し、2 番目のコピーはその作業を共有するのではなく複製します。配信が遅れている場合は、ワーカー プロセスの追加を検討する前に、データベースと送信ネットワークの容量を確認してください。