コンテンツにスキップ
公式サイト →

対応アプリ種類

TODO(内部向け・リリース前に対応して削除)

Section titled “TODO(内部向け・リリース前に対応して削除)”

Keelson は、社内やチームで共有する Web アプリ・API・定期実行ジョブを安全にデプロイ・公開するための実行基盤です。

AI(ChatGPT、Claude、Manus など)で生成した小〜中規模の業務アプリに特に向いています。

想定しているアプリの例:

  • 社内ツール — 顧客管理、案件管理、在庫管理など
  • 管理画面 — データの閲覧・編集用ダッシュボード
  • 連携アプリ — Slack / Notion / Google Sheets との自動連携
  • 軽量な自動化処理 — CSV取込、定期集計、通知バッチ
  • バックオフィス向けアプリ — 承認申請、日報・レポート生成

フォーム+一覧表示+SQLite。CRUD 操作が中心の典型的な業務アプリで、Keelson のデータ永続化(/data)がそのまま使えます。

テキスト検索 UI+バックエンド API。社内ナレッジを検索・閲覧するためのアプリで、認証付きで安全に社内公開できます。

ファイルアップロード+加工処理+ダウンロード。定型業務の自動化に最適で、Keelson なら非エンジニアにも URL を共有するだけで使ってもらえます。

フォーム送信+ステータス管理+通知。ワークフロー系の小さなアプリで、チーム内のメンバー管理と組み合わせてアクセス制御できます。

入力フォーム+テンプレート出力。日次・週次の報告を定型化するアプリで、定期実行ジョブ(cron)と組み合わせて自動集計も可能です。

Webhook 受信+API 呼び出し。外部サービスとのデータ連携を行うアプリで、Web アプリ+定期ジョブの組み合わせで構成できます。

cron ジョブのみで動く構成。売上集計、ログ解析、通知送信など、UI なしで定期実行だけを行うケースにも対応しています。

チャット UI+LLM API 呼び出し。社内向けの AI アシスタントを、認証付きで安全にチームに提供できます。


対応ランタイム / フレームワークの考え方

Section titled “対応ランタイム / フレームワークの考え方”

Keelson は特定のフレームワーク専用の PaaS ではありません。HTTP サーバーとして起動する標準的な構成のアプリであれば、フレームワークを問わず動かせます。

ランタイム用途
python-slim軽量な Python アプリ(API、テキスト処理など)
python-mediaメディア処理向け Python(画像・動画ライブラリ含む)
node-slim軽量な Node.js アプリ
node-mediaメディア処理向け Node.js
go-slim軽量な Go アプリ
go-mediaメディア処理向け Go
  • Web アプリ — HTTP サーバーとして起動し、ブラウザからアクセスするもの
  • API サーバー — JSON API を提供するバックエンド
  • 定期実行ジョブ(cron) — スケジュールに従って定期的にコマンドを実行するもの
  • ワーカープロセス — Web アプリと並行して動くバックグラウンド処理

フレームワークの例: FastAPI、Flask、Express、Next.js、Hono、Gin など。keelson.yamlcommand で起動できるものであれば動作します。


以下に当てはまるなら、Keelson が適しています。

  • 社内利用が前提 — チームや社内のメンバーに限定して公開したい
  • 認証をかけて安全に公開したい — ログイン保護をアプリに実装せずに済ませたい
  • 小さなアプリを複数動かしたい — 1つのワークスペースで複数アプリを管理できる
  • SQLite やファイル保存を使いたい/data への永続化がプラットフォーム標準で使える
  • AI に作らせたアプリをまず動かしたい — Dockerfile 不要、keelson.yaml だけでデプロイできる
  • 開発者以外にも見せたい — URL を共有するだけで、非エンジニアもブラウザからアクセスできる

以下のようなケースには、Keelson は最適ではありません。

  • 超高トラフィックな一般公開サービス — 大規模なコンシューマー向けサービスは想定外
  • 厳しい低レイテンシが必要な edge 寄りの用途 — CDN エッジでの実行には非対応
  • 複雑な分散システム — マイクロサービス間の高度なオーケストレーションには向かない
  • GPU 前提の重い推論基盤 — GPU インスタンスは提供していない
  • 特殊なミドルウェア前提の構成 — Redis、PostgreSQL(外部)、Kafka などを自前で構成する必要がある場合
  • 厳密なネットワーク制御や専有インフラが必須 — VPC ピアリング、専用ノードなどが初期要件の場合

判断チャート: あなたのアプリは Keelson 向きか

Section titled “判断チャート: あなたのアプリは Keelson 向きか”

以下の質問に順番に答えてください。3分で判断できます。

1. 利用者は社内・チームメンバーが中心ですか? → いいえ → 不特定多数への公開サービスには向いていません

2. アプリは Web UI または API を提供しますか? → いいえ → 定期実行ジョブ(cron)だけの構成でも対応可能です。それ以外の形態は対象外です

3. Node.js / Python / Go のいずれかで動きますか? → いいえ → 現時点ではこの3つのランタイムに対応しています

4. GPU や特殊なミドルウェア(Redis、Kafka など)は必要ですか? → はい → 現時点では対応していません

5. 専有インフラや厳密なネットワーク制御は初期要件ですか? → はい → Enterprise プランでの対応を検討中です。お問い合わせください

すべてクリアした場合 → Keelson で動かせます。


もっとも単純な構成でデプロイする例を示します。

ディレクトリ構成:

my-app/
├── keelson.yaml
├── requirements.txt
└── app.py

keelson.yaml:

slug: my-app
runtime: python-slim
command: "pip install --user -r requirements.txt && python app.py"
env:
PORT: "8080"

app.py:

from fastapi import FastAPI
import uvicorn, os
app = FastAPI()
@app.get("/")
def index():
return {"message": "Hello from Keelson"}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))

ディレクトリ構成:

my-app/
├── keelson.yaml
├── package.json
└── index.js

keelson.yaml:

slug: my-app
runtime: node-slim
command: "npm install && npm start"
env:
PORT: "8080"
NODE_ENV: production

index.js:

const express = require("express");
const app = express();
const port = process.env.PORT || 8080;
app.get("/", (req, res) => {
res.json({ message: "Hello from Keelson" });
});
app.listen(port, "0.0.0.0", () => {
console.log(`Listening on port ${port}`);
});

デプロイが完了すると、https://my-app.keelson.run/ のような URL が発行されます。この URL にアクセスすると、ログイン済みのメンバーだけがアプリを利用できます。


不要です。keelson.yaml でランタイムと起動コマンドを指定するだけでデプロイできます。Keelson がビルドと実行環境の構築を行います。

フロントエンド単体(静的サイト)も置けますか?

Section titled “フロントエンド単体(静的サイト)も置けますか?”

はい。keelson.yamlassets を設定すれば、ビルド済みの静的ファイルをホストできます。

はい。UI を持たない JSON API サーバーも問題なくデプロイできます。