主要機能
テナント管理からサブスクリプション課金まで、SaaS運用に必要なすべてを統合。
Docker/Bench基盤プロビジョニング
Docker Compose + Frappe Bench アーキテクチャで、新規テナントをワンクリックでプロビジョニング。テナントごとに隔離された環境を自動構築。
Stripe サブスクリプション連携
Stripe Billing と直接連携。プラン変更、従量課金、請求書発行、支払い失敗時のリトライを自動化。PCI DSS準拠。
ヘルスチェック・監視
テナントごとのアプリケーション稼働状況、レスポンスタイム、エラー率を常時監視。異常検知時は自動アラートと自動復旧を実行。
自動バックアップ
テナントごとに定期自動バックアップを実行。データベース、ファイルストレージ、設定ファイルを暗号化してクラウドストレージに保存。
テナントライフサイクル管理
テナントの作成からサスペンド、削除まで、すべてのライフサイクルイベントを自動管理。
プロビジョニング
サインアップと同時にDockerコンテナ、データベース、Bench環境を自動構築。数分でテナント利用可能。
アクティベーション
ドメイン設定、SSL証明書、初期データの投入を自動実行。管理者アカウントを発行。
スケーリング
利用量に応じてリソースを自動スケール。ユーザー数、ストレージ、CPU/メモリの動的調整。
プラン変更
Stripe連携によるプランのアップグレード/ダウングレード。日割り計算と即時反映。
サスペンド
支払い失敗や違反検知時にテナントを一時停止。データは保持したままアクセスを制限。
デプロビジョニング
解約時にデータのエクスポートと環境のクリーンアップを自動実行。30日間のデータ保持期間。
アーキテクチャ
Docker + Frappe Bench
各テナントは Docker コンテナ内の独立した Frappe Bench として動作。データベース、ファイルストレージ、設定が完全に隔離され、テナント間のデータ漏洩を物理的に防止します。
-
コンテナ分離 ― テナントごとに独立したDockerコンテナで完全隔離
-
リバースプロキシ ― Nginx / TraefikによるテナントルーティングとSSL終端
-
データベース分離 ― テナントごとに専用のMariaDB/PostgreSQLインスタンス
-
自動DNS設定 ― サブドメインの自動作成とDNSレコードの管理
# Tenant: acme-corp services: frappe-bench: image: lifegence/bench:latest environment: - SITE_NAME=acme-corp.lg.app - DB_HOST=mariadb - STRIPE_KEY=${STRIPE_SECRET} volumes: - bench-data:/home/frappe networks: - tenant-network mariadb: image: mariadb:10.11 volumes: - db-data:/var/lib/mysql