mcpField
P
portainer

portainer

github.com/sundial-orgクラウド・DevOps67062 回インストール34 週間前に更新
リポジトリ

portainer について

Portainer Skillは、Portainer REST APIを通じてDockerインフラを管理するコマンドラインスキルです。Portainer利用者向けに、コンテナやスタックの状態確認、操作、ログ閲覧、再デプロイを提供します。

主な機能

  1. 01サーバー状態とエンドポイントの確認
  2. 02コンテナの一覧表示と操作
  3. 03スタックの確認と管理
  4. 04Gitからスタックを再デプロイ
  5. 05コンテナログの閲覧

活用シーン

  1. 01Docker環境と稼働状況の確認
  2. 02コンテナの再起動や調査
  3. 03コード更新後のスタック再デプロイ

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill portainer

インストール後、Claude Code で/portainerを入力して読み込まれたか確認します。

同梱ファイルportainer.sh

詳細

🐳 Portainer スキル

    ╔═══════════════════════════════════════════════════════════╗
    ║                                                           ║
    ║   🐳  P O R T A I N E R   C O N T R O L   C L I  🐳      ║
    ║                                                           ║
    ║       Manage Docker containers via Portainer API          ║
    ║            Start, stop, deploy, redeploy                  ║
    ║                                                           ║
    ╚═══════════════════════════════════════════════════════════╝

「Docker コンテナ?僕に任せて。ハスの葉から操作するよ。」 🐸


📖 このスキルでできること

Portainer スキルを使うと、Portainer の REST API を通じて Docker インフラストラクチャを操作できます。ウェブ UI を操作せずに、コンテナ、スタック、デプロイを管理できます。

機能:

  • 📊 ステータス — Portainer サーバーのステータスを確認
  • 🖥️ エンドポイント — すべての Docker 環境を一覧表示
  • 📦 コンテナ — コンテナの一覧表示、起動、停止、再起動
  • 📚 スタック — Docker Compose スタックの一覧表示と管理
  • 🔄 再デプロイ — Git から取得してスタックを再デプロイ
  • 📜 ログ — コンテナのログを表示

⚙️ 要件

項目詳細
PortainerAPI アクセスが可能なバージョン 2.x
ツールcurl、jq
認証API アクセストークン
セットアップ
  1. Portainer から API トークンを取得します:

    • Portainer のウェブ UI にログインします
    • ユーザー名をクリック → My Account
    • 「Access tokens」までスクロール → Add access token
    • トークンをコピーします(再表示されません!)
  2. 認証情報を設定します:

    # Add to ~/.clawdbot/.env
    PORTAINER_URL=https://your-portainer-server:9443
    PORTAINER_API_KEY=ptr_your_token_here
    
  3. 準備完了です! 🚀


🛠️ コマンド

status — Portainer サーバーのステータスを確認
./portainer.sh status

出力:

Portainer v2.27.3

endpoints — 環境を一覧表示
./portainer.sh endpoints

出力:

3: portainer (local) - ✓ online
4: production (remote) - ✓ online

containers — コンテナを一覧表示
# List containers on default endpoint (4)
./portainer.sh containers

# List containers on specific endpoint
./portainer.sh containers 3

出力:

steinbergerraum-web-1    running    Up 2 days
cora-web-1               running    Up 6 weeks
minecraft                running    Up 6 weeks (healthy)

stacks — すべてのスタックを一覧表示
./portainer.sh stacks

出力:

25: steinbergerraum - ✓ active
33: cora - ✓ active
35: minecraft - ✓ active
4: pulse-website - ✗ inactive

stack-info — スタックの詳細
./portainer.sh stack-info 25

出力:

{
  "Id": 25,
  "Name": "steinbergerraum",
  "Status": 1,
  "EndpointId": 4,
  "GitConfig": "https://github.com/user/repo",
  "UpdateDate": "2026-01-25T08:44:56Z"
}

redeploy — スタックを取得して再デプロイ 🔄
./portainer.sh redeploy 25

出力:

✓ Stack 'steinbergerraum' redeployed successfully

このコマンドでは、次の処理が行われます:

  1. Git から最新のコードを取得します
  2. 必要に応じてコンテナを再ビルドします
  3. スタックを再起動します

start / stop / restart — コンテナを操作
# Start a container
./portainer.sh start steinbergerraum-web-1

# Stop a container
./portainer.sh stop steinbergerraum-web-1

# Restart a container
./portainer.sh restart steinbergerraum-web-1

# Specify endpoint (default: 4)
./portainer.sh restart steinbergerraum-web-1 4

出力:

✓ Container 'steinbergerraum-web-1' restarted

logs — コンテナのログを表示
# Last 100 lines (default)
./portainer.sh logs steinbergerraum-web-1

# Last 50 lines
./portainer.sh logs steinbergerraum-web-1 4 50

🎯 ワークフローの例

🚀 「ウェブサイトを更新してデプロイ」
# After merging PR
./portainer.sh redeploy 25
./portainer.sh logs steinbergerraum-web-1 4 20
🔧 「コンテナをデバッグ」
./portainer.sh containers
./portainer.sh logs cora-web-1
./portainer.sh restart cora-web-1
📊 「システムの概要」
./portainer.sh status
./portainer.sh endpoints
./portainer.sh containers
./portainer.sh stacks

🔧 トラブルシューティング

❌ 「認証が必要です/リポジトリが見つかりません」

問題: Git の認証エラーにより、スタックの再デプロイに失敗します

解決方法: スタックには repositoryGitCredentialID パラメーターが必要です。スクリプトは既存のスタック設定から自動的に読み取ります。


❌ 「コンテナが見つかりません」

問題: コンテナ名が一致しません

解決方法: ./portainer.sh containers で正確な名前を確認してください:

  • 完全な名前を指定します:steinbergerraum-web-1(steinbergerraum ではありません)
  • 名前の大文字と小文字は区別されます

❌ 「PORTAINER_URL and PORTAINER_API_KEY must be set」

問題: 認証情報が設定されていません

解決方法:

# Add to ~/.clawdbot/.env
echo "PORTAINER_URL=https://your-server:9443" >> ~/.clawdbot/.env
echo "PORTAINER_API_KEY=ptr_your_token" >> ~/.clawdbot/.env

🔗 Clawd との統合

"Redeploy the website"
→ ./portainer.sh redeploy 25

"Show me running containers"
→ ./portainer.sh containers

"Restart the Minecraft server"
→ ./portainer.sh restart minecraft

"What stacks do we have?"
→ ./portainer.sh stacks

📜 変更履歴

バージョン日付変更内容
1.0.02026-01-25初回リリース

🐸 クレジット

  @..@
 (----)
( >__< )   "Containers are just fancy lily pads
 ^^  ^^     for your code to hop around!"

作者: Andy Steinberger(カエルの Clawdbot Owen の協力を得て 🐸)
提供元: Portainer API
所属: Clawdbot スキルコレクション


Clawdbot コミュニティのために 💚 を込めて作成

ケロケロ! 🐸

コメント