porter
Porterは、AWS、GCP、Azure上でHerokuのような手軽さを実現し、開発者が自身のクラウド環境にKubernetesクラスタを構築、git pushで簡単にアプリをデプロイできるように支援するSkill。
📜 元の英語説明(参考)
Expert guidance for Porter, the platform that provides a Heroku-like experience on your own AWS, GCP, or Azure account. Helps developers deploy applications on managed Kubernetes clusters provisioned in their own cloud accounts, with the simplicity of `git push` deployment and the control of owning your infrastructure.
🇯🇵 日本人クリエイター向け解説
Porterは、AWS、GCP、Azure上でHerokuのような手軽さを実現し、開発者が自身のクラウド環境にKubernetesクラスタを構築、git pushで簡単にアプリをデプロイできるように支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o porter.zip https://jpskill.com/download/15271.zip && unzip -o porter.zip && rm porter.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15271.zip -OutFile "$d\porter.zip"; Expand-Archive "$d\porter.zip" -DestinationPath $d -Force; ri "$d\porter.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
porter.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
porterフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Porter — あなたのクラウド上の PaaS
概要
Porter は、Heroku のような体験をあなた自身の AWS、GCP、または Azure アカウント上で提供するプラットフォームです。開発者が自身のクラウドアカウントでプロビジョニングされたマネージド Kubernetes クラスタに、git push デプロイのシンプルさと、インフラストラクチャを所有するコントロールをもって、アプリケーションをデプロイするのを支援します。
手順
はじめに
# Porter はあなたのクラウドアカウントに Kubernetes クラスタをプロビジョニングします
# 1. dashboard.porter.run でサインアップ
# 2. あなたの AWS/GCP/Azure アカウントを接続
# 3. Porter はマネージド EKS/GKE/AKS クラスタを作成
# 4. ダッシュボードまたは CLI を通してアプリをデプロイ
# Porter CLI をインストール
brew install porter-dev/porter/porter
# ログイン
porter auth login
# コンテキストを設定
porter config set-project --project <project-id>
porter config set-cluster --cluster <cluster-id>
アプリケーションのデプロイ
# porter.yaml — アプリケーションの設定
version: v2
apps:
api:
build:
method: pack # pack (buildpacks) | docker | registry
context: .
builder: heroku/builder:22
services:
web:
type: web
port: 3000
cpus: 0.5
memory: 512Mi
replicas:
min: 2
max: 10
autoscaling:
enabled: true
targetCPU: 60
targetMemory: 70
health_check:
enabled: true
path: /health
domains:
- name: api.myapp.com
worker:
type: worker
cpus: 1
memory: 1Gi
replicas:
min: 1
max: 5
command: "node dist/worker.js"
cron:
type: job
cpus: 0.25
memory: 256Mi
command: "node dist/cron/daily-report.js"
schedule: "0 8 * * *"
timeout: 300
env:
NODE_ENV: production
# Porter ダッシュボードまたは CLI を通して管理されるシークレット
DATABASE_URL:
secret: true
REDIS_URL:
secret: true
predeploy:
- "npx prisma migrate deploy"
CLI デプロイ
# 現在のディレクトリからデプロイ
porter app update api
# 特定のサービスをデプロイ
porter app update api --service web
# 1 回限りのコマンドを実行 (Heroku run のように)
porter app run api -- npm run seed
# ログを表示
porter app logs api --service web --follow
# サービスをスケール
porter app update api --service web --replicas 5
# 環境変数を設定
porter app env set api DATABASE_URL=postgres://...
porter app env set api --secret API_KEY=sk-xxx
# アプリをリスト
porter app list
# アプリのステータスを取得
porter app get api
データベースアドオン
# マネージドデータベースをデプロイ (あなたのクラウドアカウントでプロビジョニング)
porter addon create postgresql \
--name main-db \
--version 16 \
--plan db.t4g.medium \
--storage 50
# Porter はあなたのクラウドアカウントに RDS/Cloud SQL/Azure Database をプロビジョニングします
# 接続文字列はリンクされたアプリに自動的に注入されます
porter addon create redis \
--name cache \
--version 7 \
--plan cache.t4g.micro
# アドオンをアプリにリンク
porter app env set api DATABASE_URL=$(porter addon get main-db --connection-string)
プレビュー環境
# porter.yaml — プレビュー環境の設定
version: v2
previews:
enabled: true
# すべての PR は、分離されたデータベースを持つ独自の環境を取得します
apps:
api:
build:
method: pack
services:
web:
type: web
port: 3000
cpus: 0.25
memory: 256Mi
replicas:
min: 1
max: 1
predeploy:
- "npx prisma migrate deploy"
- "npx prisma db seed"
addons:
- type: postgresql
name: preview-db
plan: db.t4g.micro
GitHub Actions 連携
# .github/workflows/deploy.yml
name: Deploy to Porter
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy to Porter
uses: porter-dev/porter-cli-action@v0.1.0
with:
command: app update api
env:
PORTER_TOKEN: ${{ secrets.PORTER_TOKEN }}
PORTER_PROJECT: ${{ secrets.PORTER_PROJECT }}
PORTER_CLUSTER: ${{ secrets.PORTER_CLUSTER }}
例
例 1: マイクロサービスプロジェクトのための Porter のセットアップ
ユーザーリクエスト:
Node.js API と React フロントエンドを Docker で実行しています。監視/デプロイのために Porter をセットアップしてください。
エージェントは、# Porter provisions a Kubernetes cluster in YOUR cloud accou のようなパターンに基づいて必要な設定ファイルを作成し、既存の Docker セットアップとの連携をセットアップし、Node.js + React スタックに適切なデフォルトを設定し、すべてが動作していることを確認するための検証コマンドを提供します。
例 2: アプリケーションのデプロイに関する問題のトラブルシューティング
ユーザーリクエスト:
Porter はアプリケーションのデプロイでエラーを表示しています。ログは次のとおりです: [エラー出力]
エージェントはエラー出力を分析し、一般的な Porter の問題との相互参照によって根本原因を特定し、修正を適用 (設定の更新、リソース制限の調整、または構文の修正) し、適切なヘルスチェックで解決を確認します。
ガイドライン
- あなたのクラウド、Porter の UX — インフラストラクチャはあなたの AWS/GCP/Azure アカウントで実行されます。あなたはデータと請求を所有します
- porter.yaml を使用 — サービス、スケーリング、および環境変数をコードで定義します。ダッシュボードのみの設定は避けてください
- 移行のための Predeploy —
predeployステップでデータベース移行を実行します。新しいバージョンが公開される前に実行されます - PR のためのプレビュー環境 — 各 PR はデータベースを含む分離されたリソースを取得します。レビュー担当者は実際のデプロイをテストします
- CPU ターゲットによるオートスケーリング — Web サービスに
targetCPU: 60を設定します。Porter は Kubernetes 上の HPA 設定を処理します - CLI/ダッシュボード経由のシークレット — 機密性の高い値を
secret: trueでマークします。Kubernetes シークレットとして保存されます app runによる 1 回限りのコマンド — データベースのシード、REPL アクセス、またはデバッグに使用します。th で実行されます
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Porter — PaaS on Your Own Cloud
Overview
Porter, the platform that provides a Heroku-like experience on your own AWS, GCP, or Azure account. Helps developers deploy applications on managed Kubernetes clusters provisioned in their own cloud accounts, with the simplicity of git push deployment and the control of owning your infrastructure.
Instructions
Getting Started
# Porter provisions a Kubernetes cluster in YOUR cloud account
# 1. Sign up at dashboard.porter.run
# 2. Connect your AWS/GCP/Azure account
# 3. Porter creates a managed EKS/GKE/AKS cluster
# 4. Deploy apps through the dashboard or CLI
# Install Porter CLI
brew install porter-dev/porter/porter
# Login
porter auth login
# Set context
porter config set-project --project <project-id>
porter config set-cluster --cluster <cluster-id>
Application Deployment
# porter.yaml — Application configuration
version: v2
apps:
api:
build:
method: pack # pack (buildpacks) | docker | registry
context: .
builder: heroku/builder:22
services:
web:
type: web
port: 3000
cpus: 0.5
memory: 512Mi
replicas:
min: 2
max: 10
autoscaling:
enabled: true
targetCPU: 60
targetMemory: 70
health_check:
enabled: true
path: /health
domains:
- name: api.myapp.com
worker:
type: worker
cpus: 1
memory: 1Gi
replicas:
min: 1
max: 5
command: "node dist/worker.js"
cron:
type: job
cpus: 0.25
memory: 256Mi
command: "node dist/cron/daily-report.js"
schedule: "0 8 * * *"
timeout: 300
env:
NODE_ENV: production
# Secrets managed via Porter dashboard or CLI
DATABASE_URL:
secret: true
REDIS_URL:
secret: true
predeploy:
- "npx prisma migrate deploy"
CLI Deployment
# Deploy from current directory
porter app update api
# Deploy a specific service
porter app update api --service web
# Run a one-off command (like Heroku run)
porter app run api -- npm run seed
# View logs
porter app logs api --service web --follow
# Scale a service
porter app update api --service web --replicas 5
# Set environment variables
porter app env set api DATABASE_URL=postgres://...
porter app env set api --secret API_KEY=sk-xxx
# List apps
porter app list
# Get app status
porter app get api
Database Addons
# Deploy managed databases (provisioned in your cloud account)
porter addon create postgresql \
--name main-db \
--version 16 \
--plan db.t4g.medium \
--storage 50
# Porter provisions RDS/Cloud SQL/Azure Database in YOUR account
# Connection strings auto-injected into linked apps
porter addon create redis \
--name cache \
--version 7 \
--plan cache.t4g.micro
# Link addon to app
porter app env set api DATABASE_URL=$(porter addon get main-db --connection-string)
Preview Environments
# porter.yaml — Preview environment configuration
version: v2
previews:
enabled: true
# Every PR gets its own environment with isolated database
apps:
api:
build:
method: pack
services:
web:
type: web
port: 3000
cpus: 0.25
memory: 256Mi
replicas:
min: 1
max: 1
predeploy:
- "npx prisma migrate deploy"
- "npx prisma db seed"
addons:
- type: postgresql
name: preview-db
plan: db.t4g.micro
GitHub Actions Integration
# .github/workflows/deploy.yml
name: Deploy to Porter
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy to Porter
uses: porter-dev/porter-cli-action@v0.1.0
with:
command: app update api
env:
PORTER_TOKEN: ${{ secrets.PORTER_TOKEN }}
PORTER_PROJECT: ${{ secrets.PORTER_PROJECT }}
PORTER_CLUSTER: ${{ secrets.PORTER_CLUSTER }}
Examples
Example 1: Setting up Porter for a microservices project
User request:
I have a Node.js API and a React frontend running in Docker. Set up Porter for monitoring/deployment.
The agent creates the necessary configuration files based on patterns like # Porter provisions a Kubernetes cluster in YOUR cloud accou, sets up the integration with the existing Docker setup, configures appropriate defaults for a Node.js + React stack, and provides verification commands to confirm everything is working.
Example 2: Troubleshooting application deployment issues
User request:
Porter is showing errors in our application deployment. Here are the logs: [error output]
The agent analyzes the error output, identifies the root cause by cross-referencing with common Porter issues, applies the fix (updating configuration, adjusting resource limits, or correcting syntax), and verifies the resolution with appropriate health checks.
Guidelines
- Your cloud, Porter's UX — Infrastructure runs in your AWS/GCP/Azure account; you own the data and the bill
- Use porter.yaml — Define services, scaling, and env vars in code; avoid dashboard-only configuration
- Predeploy for migrations — Run database migrations in the
predeploystep; they execute before the new version goes live - Preview environments for PRs — Each PR gets isolated resources including databases; reviewers test real deployments
- Autoscaling with CPU targets — Set
targetCPU: 60for web services; Porter handles HPA configuration on Kubernetes - Secrets through CLI/dashboard — Mark sensitive values with
secret: true; they're stored as Kubernetes secrets - One-off commands with
app run— Use for database seeding, REPL access, or debugging; runs in the same environment as your app - Monitor cloud costs — Porter creates real cloud resources (EKS, RDS, EC2); monitor your cloud bill directly