3 ポイント 投稿者 GN⁺ 2025-11-29 | 1件のコメント | WhatsAppで共有
  • PocketBaseは、データベース、認証、ファイル保存、管理ダッシュボードを含む単一ファイル型オープンソースバックエンド
  • スキーマビルダーデータ検証リアルタイム購読REST APIを備えた、組み込み型の高性能データベース構造
  • メール/パスワードおよび**OAuth2ログイン(Google、Facebook、GitHub、GitLab)**をサポートし、ユーザー管理を簡素化
  • ローカルまたはS3ストレージにファイルを安全に保存し、データベースレコードにメディアを紐づけてサムネイルの自動生成が可能
  • スタンドアロンアプリまたはGo・JavaScriptで拡張可能なフレームワークとして利用でき、軽量なカスタムバックエンド構築に有用

PocketBaseの概要

  • PocketBaseは、単一実行ファイルとして動作するオープンソースバックエンドプラットフォーム
    • データベース、認証、ファイル保存、管理ダッシュボードを統合して提供
    • 別途サーバー構成なしで素早く実行可能な構成

データベース機能

  • スキーマビルダーデータ検証リアルタイム購読REST APIをサポートする組み込みデータベースを搭載
    • リアルタイムデータ変更の検知と購読機能を提供
    • REST APIを通じて、簡単にデータの取得・作成・更新・削除が可能

ユーザー認証

  • アプリのユーザー管理とメール/パスワードベースのログインをサポート
  • OAuth2認証によりGoogle、Facebook、GitHub、GitLabアカウントでの登録およびログインが可能

ファイルストレージ

  • ファイルをローカルまたはS3ストレージに安全に保存可能
    • データベースレコードにメディアファイルを添付可能
    • アップロード時にサムネイル自動生成機能を提供

拡張性と開発者サポート

  • PocketBaseはスタンドアロンアプリケーションとして使用するか、GoおよびJavaScriptフック(hook)を通じて拡張可能なフレームワークとして活用可能
    • 開発者は独自のロジックを追加して、カスタムバックエンドを実装可能

JavaScript SDKの例

  • JavaScript SDKを通じてPocketBaseサーバーと相互作用可能
    • サンプルコードでは、exampleコレクションのレコード一覧取得、単一レコードの取得・削除・作成、リアルタイム購読および購読解除の機能を示す
    • pb.collection('example').getList()getOne()create()delete()subscribe()などのメソッドを提供

1件のコメント

 
GN⁺ 2025-11-29
Hacker Newsの意見
  • 「SQLite にはスケーラビリティがない」というのは、たいてい 早すぎる最適化という思い込み にすぎない
    実際に WAL の競合限界にぶつかるケースはまれで、単一バイナリのシンプルさは分散システムの複雑さよりはるかに優れていると思う
    最近は小さなプロジェクトでさえ DB クラスタや Redis キャッシュを当然のように付けるが、Pocketbase は CRUD アプリの 99% ではボトルネックは DB ではなくネットワーク遅延と開発者の運用時間であることを示している

    • ほとんどのアプリでは、技術的なボトルネックよりも ユーザー獲得 のほうが難しいボトルネックだ
    • 私は個人ブログを最安の DigitalOcean droplet に載せて SQLite を使っている
      Rust CLI ベンチマークで試したところ、同じマシン上では MySQL や Postgres より性能が良かった
      この規模のプロジェクトには SQLite が最適だ
    • ただし decimal 型がない ため、金融計算には SQLite を使いにくい
      アプリケーション側ですべての計算を処理しなければならず面倒だ
  • Pocketbase を見るとすぐに upvote を押す
    複数の本番アプリで使っているが非常に安定している
    ときどき互換性を壊す変更はあるが、全体として素晴らしく、スケーラビリティも高い
    必要な機能がないときは少し厄介だが、熟練した開発者なら十分に対処できる

    • 「ドキュメントを読む時間もなく AI ツールだけに頼るなら Pocketbase を使うな」という FAQ の文言が本当に気に入っている
    • 私も同感だ。JS で拡張してみたがとてもよく動く
      ただ、開発者が 1 人だけなので今後の保守が心配だ
      それでも フロントとバックを分離 しなければならないときには本当に良い選択だ
    • どんな種類の本番アプリを Pocketbase で運用しているのか気になる
  • 個人プロジェクトや社内ツールで Pocketbase を愛用している
    PocketPages と一緒に使えば、ファイルベースのルーティングやテンプレートを簡単に使える
    自動 DB マイグレーション 機能のおかげで、スキーマ変更をバージョン管理に含められる
    さらには Gemini プロトコルサーバーをつないで、Lagrange で個人用ナレッジグラフを探索している

    • Raspberry Pi 5 にホスティングしたいのだが、性能要件がどの程度か、Supabase と比べて特有の制約があるのか気になる
    • Lagrange が何なのかわからない。LLM やナレッジグラフ関連のプロジェクトには見えない
  • Pocketbase は GUI で設定できる バックエンドサーバー
    ほとんどコードなしで動くバックエンドを作れるので、プロトタイプ、MVP、シンプルなアプリに向いている
    この概念を一般化したのは Firebase だ

    • 具体的に何をするものなのか気になる
      自分が書くバックエンドは数百〜数千行のコードが必要だが、それをどう置き換えるのか知りたい
      こうしたツールで作れるアプリの範囲が気になる
    • ホームページの例を見ると Parse を思い出す
  • サイドプロジェクトで Pocketbase を使ってみたが本当に印象的だった
    Django で長く仕事をしてきたが、中小規模のプロジェクトでは従来型のバックエンドを自分で作るより Pocketbase のほうがはるかに合っている
    質問があれば喜んで答えられる

    • Django の GIS 統合は素晴らしいが、Pocketbase はどうなのか気になる
      それと PostgreSQL もサポートしているのか、それとも SQLite 専用なのか知りたい
    • 既存の SQLite ベースのバックエンドからの マイグレーション がどれくらい簡単かも気になる
    • 私も個人プロジェクトで使ってみたが、LLM が Pocketbase とのやり取りをしょっちゅう取り違える
      そこで Claude Skill を作ってみたのだが、似たような経験があるか気になる
  • Trailbase は同じ概念を Rust で実装したバージョンだ

    • TrailBase の 比較ページ がある
    • 例で curl コマンド を省略していない点が気に入って、Trailbase に好感を持った
    • Pocketbase は SQLite ベースだが NULLABLE カラムをサポートしておらず不便だった
      そのため Trailbase に乗り換えた
    • Trailbase ではエンドポイントで JS を実行できる
      つまりアプリ全体をホスティングすることもできる
      ガイドリンク
    • こういう点を見ると Pocketbase のほうが魅力的かもしれない
  • Pocketbase をサイドプロジェクトの 認証レイヤー として使っている
    kavla.dev で運用しており、フックシステムが素晴らしい
    Go イベントフック文書 のおかげでインフラ自動化も簡単に実装できる

  • SQLite と DuckDB で MVP を素早く作ったが、後になって バックアップと本番運用の段階 で後悔した
    最初から Supabase で始めていればもっと楽だった気がする

  • 私は Pocketbase で OpenSOHO を作り、そのおかげで開発時間を大きく節約できた
    バックエンドを再利用できるよう少し修正したが難しくはなかった
    スクリーンショットを見るだけでも Pocketbase の痕跡がすぐにわかる
    GitHub リンク

  • Pocketbase の SQLite バックアップが心配で、稼働中でも sqlite3_rsync でバックアップできるツール sqlrsync.com を自作した
    MVP は動作中で、Cloudflare Durable Objects ベースなので高速かつ安定している
    フィードバック歓迎

    • 私も SQLite が好きだ。litestream で継続レプリケーションを使っているが、SQLite rsync を使っているのか気になる
    • SQLite の オンラインバックアップ API を試したことがあるか気になる。生のファイルアクセスは避けたほうがよさそうだ
    • sqlrsync と litestream の違いが何なのか知りたい