スキル一覧に戻る
shiroemons

update-meilisearch

by shiroemons

0🍴 0📅 2026年1月25日
GitHubで見るManusで実行

SKILL.md


name: update-meilisearch description: "Meilisearchアップデートスキル。Dockerで最新版を確認し、更新があればバックアップ・データ移行を行いアップグレードする。"

Meilisearch Update Skill

Meilisearchのバージョン確認・アップグレードを自動化するスキル。 すべてのタスクはサブエージェントに委託して実行する。

実行トリガー

以下のようなリクエストで起動:

  • "Meilisearchをアップデートして"
  • "Meilisearchの最新版を確認して"
  • "/update-meilisearch"

オーケストレーション方針

このスキルはマネージャーとして動作し、実際の作業はすべてサブエージェントに委託する。 各ステップで Task ツールを使用してサブエージェントを起動し、結果を受け取って次のステップに進む。

ワークフロー

┌──────────────────────────────────────────────────────────────────┐
│ Step 1: バージョン確認(並列実行)                               │
│   → Bash エージェント x2                                        │
├──────────────────────────────────────────────────────────────────┤
│ Step 2: 更新判定・リリースノート確認                            │
│   → Bash エージェント                                           │
├──────────────────────────────────────────────────────────────────┤
│ Step 3: バックアップ作成                                         │
│   3-1. Meilisearch起動確認・起動                                 │
│   3-2. Dump作成(v1.32→v1.33のような互換性なしの場合)           │
│   3-3. Dumpファイルをホストにコピー                              │
│   → Bash エージェント                                           │
├──────────────────────────────────────────────────────────────────┤
│ Step 4: データ移行(互換性なしの場合)                           │
│   4-1. コンテナ停止・削除                                        │
│   4-2. ボリューム削除                                            │
│   4-3. 新しいボリューム作成                                      │
│   4-4. 新バージョンで --import-dump 付きで起動                   │
│   4-5. インポート完了後、一時コンテナを停止                      │
│   → Bash エージェント                                           │
├──────────────────────────────────────────────────────────────────┤
│ Step 5: docker-compose.yml 更新                                  │
│   → 直接 Edit ツールを使用                                      │
├──────────────────────────────────────────────────────────────────┤
│ Step 6: コンテナ再起動・検証                                     │
│   → Bash エージェント                                           │
├──────────────────────────────────────────────────────────────────┤
│ Step 7: ドキュメント更新                                         │
│   → 直接 Edit ツールを使用                                      │
└──────────────────────────────────────────────────────────────────┘

サブエージェント委託詳細

Step 1: バージョン確認

並列で2つのBashエージェントを起動:

Task 1-A: 現在のバージョン取得
- subagent_type: Bash
- prompt: |
    docker-compose.yml から現在のMeilisearchバージョンを取得してください。
    grep -o 'getmeili/meilisearch:v[0-9.]*' docker-compose.yml

Task 1-B: 最新バージョン取得
- subagent_type: Bash
- prompt: |
    GitHub APIからMeilisearchの最新バージョンを取得してください。
    curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | jq -r '.tag_name'

Step 2: 更新判定

  • 現在のバージョンと最新バージョンを比較
  • 同じ場合: "最新版です" と報告して終了
  • 異なる場合: リリースノートを確認して続行
Task 2: リリースノート確認
- subagent_type: Bash
- prompt: |
    Meilisearchの最新リリースノートを取得してください。
    curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | jq -r '.body' | head -80

Step 3: バックアップ作成

Task 3-1: Meilisearch起動確認・起動
- subagent_type: Bash
- prompt: |
    Meilisearchが起動しているか確認し、起動していなければ起動してください。
    1. curl -s http://localhost:7700/health でヘルスチェック
    2. 起動していない場合: docker compose up -d meilisearch
    3. ヘルスチェックが通るまで待機(最大60秒)

Task 3-2: Dump作成
- subagent_type: Bash
- prompt: |
    MeilisearchのDumpを作成してください。
    1. curl -X POST -H "Authorization: Bearer development_master_key" http://localhost:7700/dumps
    2. タスク完了を確認: curl -H "Authorization: Bearer development_master_key" "http://localhost:7700/tasks?types=dumpCreation&limit=1"
    3. Dumpファイル名を確認: docker compose exec meilisearch ls /meili_data/dumps/

Task 3-3: Dumpファイルをホストにコピー
- subagent_type: Bash
- prompt: |
    DumpファイルをホストのFSにコピーしてください。
    1. mkdir -p .meilisearch/dumps
    2. docker compose cp meilisearch:/meili_data/dumps/<dump_file> .meilisearch/dumps/

Step 4: データ移行(互換性なしの場合)

重要: v1.32 → v1.33 のようにDumplessアップグレード非対応の場合のみ実行

Task 4: データ移行
- subagent_type: Bash
- prompt: |
    Meilisearchのデータを新バージョンに移行してください。
    1. docker compose stop meilisearch && docker compose rm -f meilisearch
    2. docker volume rm thac_meilisearch_data
    3. docker volume create thac_meilisearch_data
    4. docker run --rm \
         -v thac_meilisearch_data:/meili_data \
         -v $(pwd)/.meilisearch/dumps:/dumps:ro \
         -e MEILI_MASTER_KEY=development_master_key \
         getmeili/meilisearch:v<新バージョン> \
         meilisearch --import-dump /dumps/<dump_file>
    5. インポート完了のログを確認後、Ctrl+C で一時コンテナを停止

    ※ --import-dump 付きで起動するとインポート後もMeilisearchが稼働し続けます
    ※ 一時コンテナなので停止してもデータは永続化されています

Step 5: docker-compose.yml 更新

直接 Edit ツールを使用:

# Before
image: getmeili/meilisearch:v<旧バージョン>

# After
image: getmeili/meilisearch:v<新バージョン>

Step 6: コンテナ再起動・検証

Task 6: 再起動・検証
- subagent_type: Bash
- prompt: |
    Meilisearchを再起動して検証してください。
    1. docker compose up -d meilisearch
    2. ヘルスチェック待機(最大60秒)
    3. バージョン確認: curl -s -H "Authorization: Bearer development_master_key" http://localhost:7700/version | jq
    4. インデックス確認: curl -s -H "Authorization: Bearer development_master_key" http://localhost:7700/indexes | jq

Step 7: ドキュメント更新

直接 Edit ツールを使用: .kiro/steering/meilisearch.md のバージョン記載を更新

障害復旧

起動失敗(os error 11 - Resource temporarily unavailable)

バージョンアップグレード後にコンテナが起動しない場合の対処法:

Task: データ復旧
- subagent_type: Bash
- prompt: |
    Meilisearchの起動障害を復旧してください。
    1. docker compose stop meilisearch && docker compose rm -f meilisearch
    2. ボリュームを使用中のコンテナがあれば削除:
       docker ps -a --filter volume=thac_meilisearch_data -q | xargs -r docker rm -f
    3. docker volume rm thac_meilisearch_data
    4. docker volume create thac_meilisearch_data
    5. docker run --rm \
         -v thac_meilisearch_data:/meili_data \
         -v $(pwd)/.meilisearch/dumps:/dumps:ro \
         -e MEILI_MASTER_KEY=development_master_key \
         getmeili/meilisearch:v<現バージョン> \
         meilisearch --import-dump /dumps/meilisearch-dump.dump
    6. インポート完了確認後 Ctrl+C で停止
    7. docker compose up -d meilisearch
    8. ヘルスチェック確認: curl -s http://localhost:7700/health

この問題は以下の原因で発生します:

  • バージョン間のデータベースフォーマット非互換
  • 一時コンテナがボリュームをロックしたまま残存
  • dump経由の移行が正常に完了していない

重要な注意事項

バージョン互換性

移行パターン方法
v1.12+ → v1.13+ (同一マイナー内)Dumplessアップグレード(自動移行)
v1.32 → v1.33Dump経由の移行が必要

ロールバック手順

問題が発生した場合は Bash エージェントに以下を委託:

  1. docker compose stop meilisearch
  2. docker-compose.yml を元のバージョンに戻す
  3. スナップショットから復元(必要な場合)
  4. docker compose up -d meilisearch

環境変数

変数説明デフォルト
MEILI_MASTER_KEYAPI認証キーdevelopment_master_key
MEILI_URLMeilisearch URLhttp://localhost:7700

関連ファイル

  • docker-compose.yml - Meilisearchサービス定義
  • .kiro/steering/meilisearch.md - Meilisearch設定ガイド
  • .meilisearch/dumps/ - Dumpファイル保存先
  • Makefile - logs-meilisearch, shell-meilisearch コマンド

参考資料

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です