
pocketbase
Firebaseの代替として
PocketBaseは、1つのファイルで動作するオープンソースのGoバックエンドです。組み込みのSQLiteデータベース(リアルタイムサブスクリプション対応)、ファイル・ユーザー管理、便利な管理ダッシュボードUI、シンプルなREST APIを統合し、バックエンド開発を大幅に簡素化します。
- 組み込みSQLiteデータベース — リアルタイムサブスクリプション対応のデータベースを内蔵
- ファイル&ユーザー管理 — ファイルストレージとユーザー認証を標準機能として搭載
- 管理ダッシュボードUI — ブラウザベースの直感的な管理画面でデータとスキーマを管理
- REST API — シンプルなREST APIでフロントエンドからの操作が可能
- JavaScript拡張 — JS VMプラグインでPocketBaseをJavaScriptで拡張可能
- Go フレームワークとしても利用可能 — Goのライブラリとして独自のビジネスロジックを追加してシングルバイナリに
Go製(MITライセンス)。こんな人におすすめ: FirebaseやSupabaseの代替として、シンプルで軽量なバックエンドを求める個人開発者やスタートアップ。SupabaseがPostgreSQL + リアルタイムの本格的なBaaSであるのに対し、PocketBaseは1バイナリで完結する究極のシンプルさが魅力です。導入のポイント: ダウンロードして./pocketbase serveを実行するだけで、データベース、認証、ファイルストレージが全て揃います。
インストール・要件
# 1. Releases ページからプリビルトバイナリをダウンロード # 2. アーカイブを展開 ./pocketbase serve
プリビルトバイナリは外部依存ゼロで動作。Go フレームワークとして使う場合は Go 1.25+ が必要。
こんな場面で使う
公式キャッチコピー「Open Source backend in 1 file」が示す通り、./pocketbase serve 1行で起動するシングルバイナリ構成。データベース・認証・ファイルストレージ・管理ダッシュボードが標準同梱で、小規模な Web アプリやモバイルアプリのバックエンドを最短で立ち上げられる。
情報源: pocketbase.ioQiita では「2025年に使い始めて良かったツール」「Firebase の代わりになる OSS 6選」などの紹介記事で取り上げられ、Firebase の代替として個人開発者の MVP やプロトタイプで採用されているケースが多い。ベンダーロックなく、SQLite ファイル1つで全データを持ち出せる移植性が評価されている。
情報源: qiita.com他ツールとの比較
- シングルバイナリ + SQLite で完結。Docker すら不要
- セルフホスト可能でベンダーロックなし
- MIT ライセンスで内部実装を確認・改変可能
- ローカル開発と本番運用が同じバイナリで動く
- Firebase は Google インフラで自動スケール。PocketBase は SQLite 単体のため水平スケールには別途検討必要
- Firebase はフルマネージドで運用負荷ゼロ。PocketBase は VPS 等の自己管理が必要
- Firebase は Crashlytics / Cloud Functions / Analytics 等の周辺サービスが豊富
- セットアップが1ファイルで完結。Supabase は PostgreSQL や複数サービスのデプロイが必要
- シングルバイナリで配布。VPS にコピーして起動するだけで動く
- 管理画面・REST API・リアルタイム購読が標準同梱で追加設定不要
- Supabase は PostgreSQL ベースで本格的な SQL 機能・拡張(pgvector 等の AI 向け)が豊富
- Supabase はマネージドクラウドオプションあり。PocketBase はセルフホスト前提
- Supabase は GraphQL / OAuth プロバイダ / Edge Functions まで網羅
日本語情報
公式日本語ドキュメントは未提供。日本語記事は Qiita・Zenn とも 10件未満と少なめだが、2025-2026年の最新記事も投稿されており、Firebase 代替候補としての紹介や入門チュートリアルが中心。
このツールについてよくある質問
- PocketBase は v1.0.0 リリース前ですが、本番採用の判断軸は?
- 公式は「active development 中で v1.0.0 到達前は完全な後方互換性を保証しない」と明示している。判断軸は「破壊的変更時のマイグレーション工数 × サービス停止許容度」の組み合わせ。PocketBase は SQLite ファイル 1 つに全データを保持する設計のためバックアップ・移行が単純なので、数時間のダウンタイムを許容できる個人開発・MVP・小規模 SaaS では v1.0.0 を待たずに採用する選択肢が成立する。一方、停止が許容されないミッションクリティカル運用(金融取引・医療・無停止運用)では v1.0.0 待ちが選択肢となる。 情報源: github.com
- シングルバイナリ / Go フレームワーク / JavaScript 拡張のどれで使うべきか、判断軸は?
- 公式は 3 つの使い方を提供している。標準の REST API / Auth / Storage / 管理 UI で要件が満たせる場合はシングルバイナリ。カスタムフック・追加の API エンドポイントなど JavaScript で書ける範囲の拡張は JavaScript 拡張(pb_hooks)。Go ライブラリの活用やカスタムミドルウェア追加が必要な場合は Go フレームワークとして組み込む(公式は「You could use it as a regular Go framework」と明示)。本番運用後に拡張を追加する場合の進め方として、JavaScript 拡張で動かし、Go 移植が必要になった時点で切り替えるという段階的な移行も可能。 情報源: github.com
導入時の注意点
- PocketBase は v1.0.0 到達前のため、後方互換性が完全には保証されていません。マイナーバージョンアップでも破壊的変更が入る可能性があるため、本番運用ではバージョン固定とアップグレード時の動作確認が必須です。情報源: github.com
- SQLite ベースのため、複数マシンでの水平スケールは原則できません。負荷増加時には垂直スケール(より大きな VPS)か、Supabase など PostgreSQL ベースのツールへの移行を検討する必要があります。情報源: pocketbase.io