Airtableの料金・制限に悩むエンジニア向け。NocoDBのセルフホスト手順、機能比較、Baserow・Teableとの違い、Airtableからの移行方法を実践的に解説します。
SaaS比較
公開: by ToolCraft Lab 約9分で読めます

Airtable の代替に NocoDB — 無料・セルフホストで使えるオープンソースデータベース【2026年版】

Airtableの料金・制限に悩むエンジニア向け。NocoDBのセルフホスト手順、機能比較、Baserow・Teableとの違い、Airtableからの移行方法を実践的に解説します。

#Airtable#NocoDB#データベース

Airtable の制限に悩んでいるなら、NocoDB を試すべき理由

「Airtable の無料プランでは行数が足りない、でも有料プランは高い…」 そんなジレンマを抱えるエンジニアに、オープンソースの代替ツール NocoDB を紹介します。

Airtable はスプレッドシートとデータベースを融合した革新的なツールですが、無料プランの制限(1ベースあたり1,000行)と有料プランの料金(月額$20〜/ユーザー)がネックになりがちです。特に個人開発やスタートアップでは、データベースだけにこの金額を払い続けるのは厳しいものがあります。

NocoDB は MySQL、PostgreSQL、SQLite などの既存データベースの上に Airtable 風のUIを被せるオープンソースツールです。Docker 一発でセルフホストでき、行数制限もありません。


Airtable の料金体系と制限

現在のプラン比較

プラン月額(年払い)行数/ベース添付ファイル容量
Free$01,000行1GB
Team$20/ユーザー50,000行20GB
Business$45/ユーザー125,000行100GB
Enterprise Scale要問合せ500,000行1TB

多くのユーザーが直面する問題

  • 行数制限: 無料プランの1,000行はすぐに使い切る
  • API レート制限: 無料プランでは 5 リクエスト/秒
  • 自動化回数: 無料プランは月100回まで
  • データの所有権: Airtable のサーバーにデータが保存される
  • ベンダーロックイン: エクスポート形式が限られている

NocoDB とは — Airtable の「スマートなオープンソース代替」

基本情報

項目内容
ライセンスAGPLv3(オープンソース)
GitHub Stars50,000+
対応DBMySQL, PostgreSQL, SQLite, SQL Server, MariaDB
デプロイ方法Docker, Node.js, クラウド版
行数制限なし(DBの性能次第)

NocoDB の特徴

  • 既存のデータベースにGUIを被せるアプローチ
  • REST API / GraphQL API を自動生成
  • ビュー機能(グリッド、カンバン、フォーム、ギャラリー、カレンダー)
  • コラボレーション機能(ロールベースのアクセス制御)
  • Webhook / 自動化機能

NocoDB のセルフホスト手順

方法1: Docker Compose(推奨)

最も簡単で確実な方法です。Docker Compose の基本を押さえたい方は「Docker Compose入門ガイド」も参考にしてください。

# docker-compose.yml
version: '3.8'
services:
  nocodb:
    image: nocodb/nocodb:latest
    ports:
      - "8080:8080"
    environment:
      NC_DB: "pg://db:5432?u=postgres&p=password&d=nocodb"
      NC_AUTH_JWT_SECRET: "your-secret-key-here"
    depends_on:
      - db
    restart: unless-stopped
    volumes:
      - nc_data:/usr/app/data

  db:
    image: postgres:16
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: nocodb
    volumes:
      - pg_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  nc_data:
  pg_data:
# 起動
docker compose up -d

# ログ確認
docker compose logs -f nocodb

# ブラウザで http://localhost:8080 にアクセス

方法2: SQLite で最小構成(個人利用向け)

# Docker 一行で起動(SQLite使用)
docker run -d --name nocodb \
  -p 8080:8080 \
  -v "$(pwd)/nocodb:/usr/app/data" \
  nocodb/nocodb:latest

方法3: Node.js で直接インストール

# npx で即座に起動
npx create-nocodb-app

# または手動インストール
npm install -g nocodb
nocodb

初期セットアップ

  1. ブラウザで http://localhost:8080 にアクセス
  2. 管理者アカウントを作成(メールアドレスとパスワード)
  3. 最初のベース(プロジェクト)を作成
  4. テーブルを追加してデータ入力開始

Airtable と NocoDB の機能比較

データ管理機能

機能AirtableNocoDB
グリッドビュー
カンバンビュー
フォームビュー
ギャラリービュー
カレンダービュー
ガントチャート
フィールドタイプ30種以上20種以上
リレーション
ロールアップ
ルックアップ

API・連携機能

機能AirtableNocoDB
REST API
GraphQL API
Webhook
自動化
Zapier 連携
Swagger UI◎(自動生成)

運用面

項目AirtableNocoDB
行数制限ありなし
セルフホスト不可
データ所有権Airtable 側完全に自分
バックアップ手動エクスポートDB のバックアップツール利用可
カスタマイズ制限ありソースコード変更可

NocoDB の実用的な活用例

例1: プロジェクト管理データベース

-- NocoDB のバックエンドは通常のRDBなので
-- 直接SQLでデータ操作も可能
SELECT
  title,
  status,
  assignee,
  due_date
FROM projects
WHERE status != 'done'
ORDER BY due_date ASC;

例2: API を活用した自動化

NocoDB は Swagger UI を自動生成するため、API のテストが容易です。

# NocoDB API でレコード取得
curl -X GET "http://localhost:8080/api/v2/tables/{tableId}/records" \
  -H "xc-auth: YOUR_API_TOKEN" \
  -H "Content-Type: application/json"

# レコード作成
curl -X POST "http://localhost:8080/api/v2/tables/{tableId}/records" \
  -H "xc-auth: YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "Title": "新しいタスク",
    "Status": "todo",
    "Priority": "high"
  }'

例3: 既存データベースへの接続

NocoDB の最大の強みは、既存のデータベースにGUIを被せられることです。

# docker-compose.yml で既存DBに接続する例
services:
  nocodb:
    image: nocodb/nocodb:latest
    ports:
      - "8080:8080"
    environment:
      # 既存の PostgreSQL に接続
      NC_DB: "pg://your-existing-db-host:5432?u=user&p=pass&d=mydb"

すでにあるデータベースのテーブルが自動的にNocoDB上で操作可能になります。


他の Airtable 代替ツール

NocoDB 以外にも優れた代替ツールがあります。

Baserow — UIの洗練度が高い

項目内容
ライセンスMIT(オープンソース)
特徴Airtable に最も近いUI
セルフホストDocker 対応
クラウド版フリープランあり
# Baserow のセルフホスト
docker run -d --name baserow \
  -e BASEROW_PUBLIC_URL=http://localhost \
  -v baserow_data:/baserow/data \
  -p 80:80 -p 443:443 \
  baserow/baserow:latest

Teable — 高パフォーマンスの新鋭

項目内容
ライセンスAGPLv3(オープンソース)
特徴PostgreSQL ネイティブ、高速
セルフホストDocker 対応
行数制限なし
# Teable のセルフホスト
git clone https://github.com/teableio/teable.git
cd teable
docker compose up -d

3ツール比較

項目NocoDBBaserowTeable
GitHub Stars50K+15K+15K+
UI の洗練度
パフォーマンス
既存DB接続
API 自動生成
プラグイン
学習コスト

Airtable から NocoDB への移行手順

Step 1: Airtable データのエクスポート

1. Airtable でエクスポートしたいビューを開く
2. ビューメニュー → 「Download CSV」を選択
3. テーブルごとに CSV をダウンロード

Step 2: NocoDB でのインポート

1. NocoDB でベースを作成
2. テーブル作成画面で「Import」を選択
3. 「CSV」を選択してファイルをアップロード
4. カラムのマッピングを確認して「Import」

Step 3: フィールドタイプの調整

CSVインポート後、フィールドタイプが正しく認識されない場合があります。

# よくある調整
- 日付フィールド: Text → Date に変更
- 選択肢フィールド: Text → Single Select に変更
- リンクフィールド: 手動で Link to another record を設定
- 添付ファイル: 別途アップロードが必要

Step 4: API エンドポイントの更新

Airtable API を使っていた場合、NocoDB の API に切り替えます。

// Before: Airtable API
const response = await fetch(
  'https://api.airtable.com/v0/appXXX/TableName',
  {
    headers: {
      'Authorization': 'Bearer pat_xxx',
    },
  }
);

// After: NocoDB API
const response = await fetch(
  'http://localhost:8080/api/v2/tables/{tableId}/records',
  {
    headers: {
      'xc-auth': 'YOUR_NOCODB_TOKEN',
    },
  }
);

NocoDB の本番運用 Tips

SSL 対応(Caddy を使う例)

# Caddyfile
yourdomain.com {
    reverse_proxy nocodb:8080
}
# docker-compose.yml に Caddy を追加
services:
  caddy:
    image: caddy:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
    depends_on:
      - nocodb

バックアップ戦略

# PostgreSQL のバックアップ(日次 cron で実行)
#!/bin/bash
BACKUP_DIR="/backups/nocodb"
DATE=$(date +%Y%m%d_%H%M%S)

docker exec nocodb-db pg_dump -U postgres nocodb \
  | gzip > "$BACKUP_DIR/nocodb_$DATE.sql.gz"

# 30日以上前のバックアップを削除
find "$BACKUP_DIR" -name "*.sql.gz" -mtime +30 -delete

パフォーマンスチューニング

# PostgreSQL のチューニング例
services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: nocodb
    command: >
      postgres
      -c shared_buffers=256MB
      -c effective_cache_size=768MB
      -c work_mem=4MB
      -c maintenance_work_mem=128MB

まとめ — Airtable の代替は NocoDB で十分

Airtable は素晴らしいプロダクトですが、以下の条件に当てはまるなら NocoDB への移行を検討する価値があります。

  • 無料プランの行数制限(1,000行)に引っかかっている
  • データを自分のサーバーで管理したい
  • API を活用した自動化を制限なく行いたい
  • 月額料金を削減したい

NocoDB はセルフホストの手間はありますが、Docker Compose で数分で構築できます。既存の PostgreSQL や MySQL にGUIを被せられるのは、他のツールにはない大きな強みです。

NocoDBのようなオープンソース代替に興味がある方は、デザインツールの「Figma代替 Penpot ガイド」や、ホスティングの「Heroku代替サービス比較」もあわせてご覧ください。

まずは SQLite の最小構成で試して、本格利用が見えてきたら PostgreSQL 版に移行するのがおすすめです。