mcpField
F
frappe-ops-cloud

frappe-ops-cloud

github.com/impertio-studioクラウド・DevOps198109 回インストール30 週間前に更新
リポジトリ

frappe-ops-cloud について

Frappe Cloudのマネージドホスティングと、セルフホスト型Pressのリファレンススキルです。チームや運用担当者が方式を選び、サイト構築やデプロイ、インフラ管理を把握できます。

主な機能

  1. 01Frappe CloudとPressの概念
  2. 02ホスティング方式の選択ガイド
  3. 03サイトとbenchの運用
  4. 04アプリのデプロイと更新
  5. 05バックアップ、監視、スケーリング
  6. 06セルフホスト要件の説明

活用シーン

  1. 01マネージドかセルフホストかの選択
  2. 02サイトとカスタムドメインの構築
  3. 03benchへのアプリのデプロイ
  4. 04Pressホスティング基盤の運用

インストール

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

$npx skills add https://github.com/impertio-studio/frappe_claude_skill_package --skill frappe-ops-cloud

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
.gitkeep
anti-patterns.md
examples.md

詳細

Frappe Cloud と Press

Frappe Cloud のマネージドホスティングと、Press のセルフホスト可能な代替手段に関する完全なリファレンスです。


クイックリファレンス:Frappe Cloud の概念

概念説明
サイト独自のデータベース、ドメイン、アプリを持つ単一の Frappe インスタンスです
Bench同じアプリバージョンを使用する 1 つ以上のサイトをホストする共有ランタイム環境です
サーバー1 つ以上の Bench を実行する基盤インフラ(VM)です
プライベート Bench単一の顧客専用で、完全な制御が可能な Bench です
共有 Bench複数のサイトで共有する、Frappe が管理する Bench です
PressFrappe Cloud を支えるオープンソースプラットフォーム(AGPL-3.0)です
エージェントPress とサイト間の通信を可能にする、各サーバー上の Flask アプリケーションです

判断ツリー:Frappe Cloud とセルフホスト

Choosing hosting strategy:
├── Small team, want zero ops overhead?
│   └── Frappe Cloud (Shared Bench) — fastest time to production
├── Need custom server configuration?
│   ├── Budget for managed infra? → Frappe Cloud (Private Bench)
│   └── Want full control? → Self-hosted with bench
├── Need to host Frappe for multiple clients?
│   ├── Want managed platform? → Frappe Cloud
│   └── Want own platform? → Self-hosted Press
├── Regulatory/compliance — data must stay on-premises?
│   └── Self-hosted (bench or Press)
└── Development/testing environment?
    ├── Quick prototype → Frappe Cloud (free trial)
    └── Long-term dev → Local bench installation

Frappe Cloud の概要

Frappe Cloud は、Frappe スタック向けの完全マネージド型ホスティングプラットフォームです。サーバーのプロビジョニング、バックアップ、アップデート、モニタリング、スケーリングを処理します。

主な機能
機能詳細
自動バックアップ保持ポリシーに基づく、スケジュール設定された毎日のバックアップです
自動アップデートFrappe アプリ向けのマネージドアップデートサイクルです
スケーリングダウンタイムなしでの水平および垂直スケーリングです
マルチテナントBench ごとに複数の独立したサイトを運用できます
SSL/TLS証明書の自動プロビジョニングと更新です
モニタリングサーバーとサイトのリアルタイムモニタリングです
ロールベースのアクセス制御チームメンバー向けのきめ細かな権限設定です
請求日次/月次のサブスクリプション、ウォレットクレジット、複数の支払い方法に対応します
インフラストラクチャの選択肢
選択肢用途
共有 Bench小規模サイトに適した低コストの選択肢です。Bench は Frappe が管理します
プライベート Bench専用環境です。カスタムアプリバージョンやアップデートスケジュールを設定できます
専用サーバー高トラフィックまたはコンプライアンス要件に対応する、サーバー全体を専有する選択肢です

Frappe Cloud ダッシュボード

サイト管理

ダッシュボードでは、すべてのサイト操作を一元管理できます。

  • サイトの作成 — 共有またはプライベートの Bench に新しいサイトをプロビジョニングします
  • アプリのインストール/削除 — サイトに Frappe アプリを追加または削除します
  • バックアップ — 手動およびスケジュール設定されたバックアップを作成し、バックアップから復元します
  • ドメイン管理 — SSL の自動設定に対応したカスタムドメインを追加します
  • サイト設定 — ダッシュボードから site_config.json を編集します
  • モニタリング — CPU、メモリ、ディスク使用量、リクエストログを確認します
  • サイトの操作 — サイトを移行、更新、一時停止、アーカイブ、または移管します
Bench 管理
  • Bench の作成 — 共有またはプライベートの Bench を設定します
  • アプリ管理 — アプリとそのバージョン/ブランチを選択します
  • アップデートのスケジュール設定 — Bench がアップデートを受け取るタイミングを制御します
  • 環境変数 — カスタム環境変数を設定します
  • SSH アクセス — SSH 経由で Bench に接続してデバッグします
  • ログブラウザー — アプリケーションログとエラーログを確認します
  • データベースアクセス — ダッシュボード経由でデータベースにクエリを実行します
サーバー管理
  • サーバーのプロビジョニング — 複数のクラウドプロバイダーにまたがってサーバーを作成します
  • リソースのスケーリング — CPU、メモリ、ストレージをアップグレードします
  • ストレージアドオン — 追加のストレージボリュームを接続します
  • サーバースナップショット — サーバースナップショットを作成および復元します

Frappe Cloud へのアプリのデプロイ

カスタムアプリの追加
  1. Frappe Cloud ダッシュボードで Apps に移動します
  2. Add App をクリックし、GitHub リポジトリの URL を入力します
  3. デプロイするブランチを選択します
  4. 必要に応じてビルド設定を行います
  5. アプリは、互換性のある Bench 内のサイトにインストールできるようになります
アプリマーケットプレイス

Frappe Cloud には、開発者が以下の操作を行えるマーケットプレイスがあります。

  • 説明と価格を添えてアプリを掲載する
  • 互換性要件(Frappe のバージョン、依存関係)を設定する
  • 価格モデル(無料、買い切り、サブスクリプション)を設定する
  • 商用アプリの収益支払いを管理する
  • インストール数と利用状況の分析を追跡する
デプロイワークフロー
Developer pushes code → Frappe Cloud detects update →
  Bench rebuild triggered → Assets compiled →
    Sites migrated → New version live

プライベートベンチの場合:更新はベンチの所有者が管理します。承認なしで自動デプロイされることは絶対にありません。

共有ベンチの場合:更新スケジュールは Frappe が管理します。


サイトのプロビジョニングワークフロー

新しいサイトの作成
  1. ベンチを選択 — 共有ベンチまたはプライベートベンチを選択します
  2. プランを選択 — リソースの割り当て(CPU、メモリ、ストレージ)を選択します
  3. アプリを設定 — インストールするアプリを選択します
  4. ドメインを設定 — *.frappe.cloud サブドメインまたはカスタムドメインを使用します
  5. 作成 — Frappe Cloud がサイトをプロビジョニングします(通常 5 分以内)
カスタムドメインの設定
  1. ダッシュボードでサイトの Domains に移動します
  2. カスタムドメイン(例:erp.example.com)を追加します
  3. DNS を設定します。Frappe Cloud プロキシを指す CNAME レコードを追加します
  4. Frappe Cloud が DNS を検証し、SSL 証明書を自動的にプロビジョニングします
  5. SSL が機能することを期待する前に、DNS の伝播を必ず待ちます(最大 48 時間)
重要なルール
  • カスタムドメインには必ず CNAME レコードを使用します(A レコードは使用しません)
  • DNS を Frappe Cloud に移管してはいけません。CNAME レコードのみを追加します
  • 本番トラフィックを切り替える前に、SSL が有効であることを必ず確認します
  • カスタムドメインの SSL には Let's Encrypt を使用します。有効期限前に自動更新されます

Frappe Cloud とセルフホストの比較

項目Frappe Cloudセルフホスト(bench)セルフホスト(Press)
セットアップ時間数分数時間数日
サーバー管理管理対象自分で管理自分で管理
バックアップ自動手動/cron自動
更新管理されたスケジュールbench updatePress 経由で管理
SSL 証明書自動手動/certbot自動
スケーリングダッシュボードのボタン手動ダッシュボード
マルチテナント組み込みDNS マルチテナント組み込み
コストサブスクリプションインフラのみインフラのみ
カスタムサーバー設定制限あり完全な制御完全な制御
データ主権Frappe のインフラ自社のインフラ自社のインフラ
SSH アクセスプライベートベンチのみ全般全般
モニタリング組み込み自分で設定組み込み
サポート含まれるコミュニティのみコミュニティのみ

Press:セルフホスト型 Frappe Cloud

Press とは?

Press は、Frappe Cloud を支えるオープンソースプラットフォーム(AGPL-3.0)です。組織は Press をセルフホストして、Frappe アプリケーション向けの独自のマネージドホスティングプラットフォームを構築できます。

GitHub:https://github.com/frappe/press

アーキテクチャ
コンポーネントテクノロジー役割
PressFrappe Frameworkプラットフォーム管理、課金、ダッシュボード
AgentFlaskサーバーとサイト間の通信
Dockerコンテナランタイムアプリのパッケージ化とデプロイ
Ansible自動化サーバーのプロビジョニングと設定
Frappe UIVue.jsダッシュボードのフロントエンド
主な機能
  • 複数サーバーの管理 — 複数のサーバーをプロビジョニングして管理します
  • サイトのライフサイクル管理 — サイトの作成、更新、移行、バックアップ、復元、アーカイブを行います
  • ベンチ管理 — 特定のアプリバージョンを含むベンチをデプロイします
  • 課金システム — サブスクリプション、請求書、ウォレットクレジット、ERP 連携
  • マーケットプレイス — アプリの掲載、価格設定、支払い
  • ロールベースのアクセス制御 — チームやリソースごとのきめ細かな権限設定
  • モニタリング — リアルタイムのメトリクスとアラート
Press をセルフホストする場合
  • 複数のクライアント/テナント向けに Frappe をホストする必要がある
  • マネージドプラットフォームを利用したいが、インフラは自社で運用したい
  • 完全なデータ主権と規制への準拠が必要である
  • Frappe ホスティングをサービスとして提供したい
Press をセルフホストしない場合
  • 単一サイトのために Press をセルフホストしてはいけません。bench を直接使用します
  • 専任の DevOps 対応能力がない状態で Press をセルフホストしてはいけません
  • 運用上の負担を過小評価してはいけません。Press 自体にもメンテナンスが必要です
セルフホスティングの要件
  • Ubuntu を搭載した専用サーバー(ベアメタルまたは VM)
  • ワイルドカードドメインの DNS 管理
  • バックアップ用のオブジェクトストレージ(S3 互換)
  • トランザクションメール用の SMTP サービス
  • Ansible、Docker、Frappe Framework に関する知識

Frappe Cloud の制限事項

Frappe Cloud でできないこと
  • システムレベルのパッケージをインストールすること(共有ベンチでは root アクセスがありません)
  • Nginx/Supervisor の設定を直接変更すること
  • 生のデータベースファイルにアクセスすること(ダッシュボード経由の SQL アクセスのみ)
  • Frappe のジョブキュー以外で、長時間実行されるバックグラウンドプロセスを実行すること
  • 標準以外のポートやプロトコルを使用すること
共有ベンチの制限事項
  • SSH アクセスなし
  • カスタム環境変数なし(代わりに site_config.json を使用)
  • 他のサイトとのリソース共有(パフォーマンスは変動する場合があります)
  • Frappe が管理するアップデートスケジュール(サイト所有者は変更できません)
共有ベンチに対するプライベートベンチの利点
  • デバッグ用の SSH アクセス
  • カスタム環境変数
  • 管理可能なアップデートスケジュール
  • 専用リソース
  • カスタムアプリのバージョンとブランチ

Frappe Cloud のベストプラクティス

サイト設定
  • 大規模なデータインポートの前に、必ず maintenance_mode を設定してください
  • サイト設定の変更には、必ずダッシュボードを使用してください(ファイルを直接編集しないでください)
  • Frappe Cloud ではスケジューラーを絶対に無効にしないでください。代わりに pause_scheduler を使用してください
  • 本番環境に適用する前に、必ずステージングサイトでアプリのアップデートをテストしてください
バックアップ戦略
  • Frappe Cloud では毎日の自動バックアップが作成されます
  • 大規模な変更の前に、必ず手動でバックアップを作成してください
  • 必ず定期的にバックアップをダウンロードし、プラットフォーム外に保存してください
  • Frappe Cloud のバックアップだけに絶対に頼らず、自分でコピーを保管してください
パフォーマンス
  • ダッシュボードでサイトの使用状況を監視し、上限に達する前にプランをアップグレードしてください
  • 負荷の高い処理にはバックグラウンドジョブを使用してください(同期 API 呼び出しは使用しないでください)
  • 頻繁にアクセスされるデータには Redis キャッシュを有効にしてください
  • データベースアナライザーツールで低速クエリログを確認してください

Frappe Cloud の DevOps ツール

ツール用途
ログブラウザーアプリケーションログ、エラーログ、スケジューラーログを表示します
データベースアナライザーSQL クエリを実行し、低速クエリを表示して、インデックスを分析します
Binlog ブラウザーデータベースの変更ログ(バイナリログイベント)を表示します
SSH アクセスデバッグ用にプライベートベンチのターミナルへアクセスします
プロセスステータス実行中のワーカー、スケジューラーの状態、ジョブキューを表示します
アナリティクス連携

Frappe Cloud のサイトは、外部のアナリティクスツールに接続できます。

  • Frappe Insights(ネイティブ)
  • Power BI(API 経由)
  • Metabase(データベース接続経由)
  • カスタムダッシュボード(Frappe API 経由)

参考ファイル

ファイル内容
examples.mdクラウドデプロイのワークフロー例
anti-patterns.mdFrappe Cloud でよくある間違いと修正方法

コメント