AI

OSSの内部ツールビルダー比較:Appsmith vs Budibase vs Tooljet で管理画面を10倍速く作る

オープンソースラボ編集部2026年6月14日

OSSの内部ツールビルダー比較:Appsmith vs Budibase vs Tooljet で管理画面を10倍速く作る

Retool(月$10/ユーザー〜)・Internal(月$299〜)に対して、Appsmith(最も豊富なウィジェット・Retool代替)・Budibase(低コード・データベース統合)・Tooljet(軽量・プラグイン豊富)はOSSの内部ツールビルダーです。

内部ツールビルダーが解決する問題

エンジニアが「管理画面」「内部ダッシュボード」「CS対応ツール」を作る際、毎回React/Vue/Angularでフロントエンドをゼロから書くのは時間の無駄です。内部ツールビルダーは:

  • ドラッグ&ドロップUI: テーブル・フォーム・グラフ・ボタンを配置するだけ
  • データソース統合: PostgreSQL・MySQL・REST API・GraphQL・Redis・S3をGUIで接続
  • ロールベースアクセス: 管理者・CSチーム・オペレーターごとに表示項目を制御
  • ワークフロー自動化: ボタンクリック→API呼び出し→Slack通知を連鎖実行

主要ツールの概要

Appsmith

2019年に公開されたOSSの内部ツールビルダーです。GitHubスター35k+。45種類以上のウィジェット(テーブル・フォーム・グラフ・カレンダー・マップ・メディア)と50以上のデータソース接続(PostgreSQL・MongoDB・Salesforce・Google Sheets・REST API・GraphQL等)を提供。JavaScriptで任意のロジックを記述でき、Retoolと同等の柔軟性があります。

# docker-compose.yml - Appsmith セルフホスト
version: '3.8'
services:
  appsmith:
    image: index.docker.io/appsmith/appsmith-ee:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./stacks:/appsmith-stacks
    restart: unless-stopped
    environment:
      APPSMITH_ENABLE_EMBEDDED_DB: 1  # 内蔵MongoDB(本番は外部MongoDB推奨)
      APPSMITH_MONGODB_URI: mongodb://localhost/appsmith
      APPSMITH_ENCRYPTION_PASSWORD: your-encryption-password
      APPSMITH_ENCRYPTION_SALT: your-encryption-salt
      APPSMITH_MAIL_HOST: smtp.yourcompany.com
      APPSMITH_MAIL_FROM: noreply@yourcompany.com
// Appsmithクエリ:PostgreSQLで注文一覧を取得
// Query Editor でSQLを記述
SELECT
  o.id,
  o.created_at,
  o.status,
  c.name AS customer_name,
  c.email AS customer_email,
  SUM(oi.price * oi.quantity) AS total_amount
FROM orders o
JOIN customers c ON o.customer_id = c.id
JOIN order_items oi ON o.id = oi.order_id
WHERE
  o.status IN ({{StatusFilter.selectedOptionValues.map(s => "'" + s + "'").join(",") || "'pending','processing'"}}})
  AND o.created_at >= {{moment(DateRangePicker.startDate).format('YYYY-MM-DD')}}
  AND o.created_at <= {{moment(DateRangePicker.endDate).format('YYYY-MM-DD')}}
GROUP BY o.id, c.name, c.email
ORDER BY o.created_at DESC
LIMIT {{Table1.pageSize}}
OFFSET {{(Table1.pageNo - 1) * Table1.pageSize}};

// JavaScript transform(クエリ結果を加工)
// Query → Settings → Transform Result
return data.map(row => ({
  ...row,
  total_amount: "¥" + parseInt(row.total_amount).toLocaleString(),
  status_badge: {
    pending: "🟡 処理待ち",
    processing: "🔵 処理中",
    completed: "🟢 完了",
    cancelled: "🔴 キャンセル",
  }[row.status] || row.status,
}));
// AppsmithのJavaScript API:注文ステータスを更新してSlack通知
// Button.onClick に設定するJSオブジェクト
export default {
  async updateOrderStatus(orderId, newStatus) {
    // 1. DBのステータスを更新
    const updateResult = await UpdateOrderStatus.run({
      orderId: orderId,
      status: newStatus,
    });

    if (updateResult.rowsAffected > 0) {
      // 2. Slack通知
      await SlackWebhook.run({
        text: "注文 #" + orderId + " のステータスが " + newStatus + " に変更されました",
      });

      // 3. テーブルを更新
      await GetOrders.run();
      showAlert("ステータスを更新しました", "success");
    } else {
      showAlert("更新に失敗しました", "error");
    }
  },
};

Budibase

2021年に公開されたOSSの低コードプラットフォームです。GitHubスター23k+。AppsmithよりもUI作成が簡単で、データベーステーブルから自動でCRUD画面を生成する機能が優れています。PostgreSQL・MySQL・MongoDB・REST API・S3等を接続でき、スクリーン間のナビゲーション・ロールベースアクセス・自動化ワークフロー(トリガー → アクション)を提供します。

# BudibaseをDockerで起動
docker run -d --name budibase   -p 10000:10000   -v budibase_data:/data   -e MINIO_ACCESS_KEY=your-minio-key   -e MINIO_SECRET_KEY=your-minio-secret   budibase/budibase:latest

# WebUI: http://localhost:10000
# ヘルスチェック: http://localhost:10000/health
// Budibaseの自動化ワークフロー(YAML形式の定義)
// 管理画面の「Automate」タブで設定可能
const workflow = {
  name: "新規ユーザー登録時にWelcomeメール送信",
  trigger: {
    type: "row_saved",
    table: "users",
    filters: [{ field: "status", operator: "equals", value: "new" }],
  },
  actions: [
    {
      type: "execute_query",
      query: "update_user_onboarding_status",
      params: { userId: "{{ trigger.row.id }}", status: "email_sent" },
    },
    {
      type: "send_email",
      to: "{{ trigger.row.email }}",
      subject: "ようこそ!アカウントが作成されました",
      template: "welcome_email",
      data: { name: "{{ trigger.row.name }}" },
    },
    {
      type: "send_slack",
      webhook: "{{ env.SLACK_WEBHOOK_URL }}",
      message: "新規ユーザー登録: {{ trigger.row.email }}",
    },
  ],
};

Tooljet

2021年に公開されたTypeScript/Node.js製のOSS内部ツールビルダーです。GitHubスター35k+。45種類以上のデータソース(PostgreSQL・MySQL・MongoDB・Redis・Elasticsearch・BigQuery・Stripe・HubSpot・Twilio等)に対応し、JavaScriptカスタムコンポーネントも使えます。軽量でDockerのセットアップが最も簡単なため、プロトタイピングから始めやすいです。

# docker-compose.yml - Tooljet
version: '3.8'
services:
  tooljet:
    image: tooljet/tooljet-ce:latest
    ports:
      - "3000:3000"
    depends_on:
      - postgres
    environment:
      TOOLJET_HOST: https://tools.yourcompany.com
      LOCKBOX_MASTER_KEY: your-32-char-lockbox-key
      SECRET_KEY_BASE: your-64-char-secret-key
      PG_HOST: postgres
      PG_DB: tooljet_production
      PG_USER: tooljet
      PG_PASS: tooljet_password
      PG_PORT: 5432
      DISABLE_SIGNUPS: "false"

  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: tooljet_production
      POSTGRES_USER: tooljet
      POSTGRES_PASSWORD: tooljet_password
    volumes:
      - tooljet_db:/var/lib/postgresql/data

volumes:
  tooljet_db:

機能比較表

比較項目AppsmithBudibaseTooljet
ウィジェット数45+30+45+
データソース接続50+30+45+
自動CRUD生成限定的✅(強力)限定的
カスタムJSコンポーネント
Git同期(バージョン管理)
言語TypeScript/ReactSvelte/Node.jsTypeScript/Node.js
GitHub Stars35k+23k+35k+

内部ツールからSlackや外部APIへの通知・連携にはCommunicationカテゴリ/categories/communicationのSlack Webhookを使います。内部ツールに認証・SSOを追加するにはSecurityカテゴリ/categories/securityのKeycloak・Authentikと組み合わせてください。

FAQ

Q. AppsmithとRetoolの機能差を教えてください

A. Retoolが優れている点: ①より安定したエンタープライズサポート②細かいバグが少ない③Mobxベースの状態管理が直感的④豊富なエンタープライズ実績。Appsmithが優れている点: ①完全OSSでセルフホスト可能②Retoolより60〜80%コスト削減③コミュニティが活発で質問回答が早い④GitコネクターでCI/CDとのワークフロー統合。5人以下の小チームや予算制約がある場合はAppsmithのセルフホストが最適。10人以上のエンタープライズチームで安定性最優先ならRetoolも検討価値があります。

Q. Appsmithのアプリをバージョン管理(Git)で管理するには?

A. AppsmithのGit統合機能を使います。設定から「Connect Git」でGitHubリポジトリと接続すると、アプリの定義(JSON)がリポジトリに保存され、ブランチ・PR・マージが可能になります。開発者はfeatureブランチで変更し、レビュー後にmainにマージするワークフローが実現します。npm run appsmith exportなどのCLIツールも開発中です。

Q. Budibaseで既存のPostgreSQLにCRUD画面を最速で作るには?

A. Budibaseの自動生成が最速です。①Budibaseにログイン②Data → External Datasources → PostgreSQLで接続③テーブルを選択④Screens → Auto-generate Screens → テーブルを選ぶとCreate/Read/Update/Delete画面が60秒で自動生成されます。生成されたUIはドラッグ&ドロップで調整でき、フィールドの表示・非表示やバリデーションを追加できます。

Q. セルフホストの内部ツールビルダーのセキュリティで注意する点は?

A. ①認証必須: デフォルト設定でインターネットに公開しないこと(VPN内またはSSHトンネル経由でのみアクセス)②HTTPS必須: Let's EncryptやCloudflare Tunnelで必ずHTTPS化③最小権限の原則: 内部ツールに与えるDBアカウントは必要最小限の権限(SELECT/UPDATE対象テーブルのみ)④監査ログ: Appsmithは管理者画面でアクセスログを確認可能⑤OSS脆弱性スキャン: TrivyでDockerイメージをスキャンして定期的に最新版にアップデート。特にDBのパスワードを直接入力できる内部ツールはインターネット公開厳禁です。

まとめ

ユースケース推奨ツール
Retool代替・豊富なウィジェットAppsmith
最速CRUD・データベース自動生成Budibase
軽量・多様なデータソースTooljet

関連外部リソース

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。