
appwrite
Firebaseの代替として
Appwriteは、Web、モバイル、AIアプリケーション構築のためのオープンソースのオールインワン開発プラットフォームです。認証、データベース、ストレージ、ファンクション、メッセージング、リアルタイム機能、WebアプリホスティングのSitesを統合的に提供します。
- 認証(Auth)— メール/パスワード、SMS、OAuth、匿名セッション、マジックリンク。MFAとユーザー検証フローに対応
- データベース — スケーラブルな構造化データストレージ。クエリ、ページネーション、インデックス、リレーションシップに対応
- ストレージ — セキュアなファイルストレージ。アップロード、ダウンロード、暗号化、圧縮、ファイル変換に対応
- Functions — サーバーレスコンピュート。15のランタイムでカスタムバックエンドロジックを実行。イベントトリガーまたはスケジュールジョブ
- メッセージング — メール、SMS、プッシュ通知のマルチチャネル配信
- Sites — Webアプリのデプロイ・スケーリング。カスタムドメイン、SSR、Git連携、プレビュー対応
- マルチSDK — Web、Flutter、Apple、Android、React Native(クライアント)+ Node.js、Python、PHP、Dart、Ruby、Swift等(サーバー)
- ワンコマンドデプロイ — Docker一行でセルフホスト。Appwrite Cloudでマネージドも提供
TypeScript製(BSD 3-Clause License)。こんな人におすすめ: Firebaseの代替としてオールインワンBaaSが必要な開発者、Webホスティングまで含む統合プラットフォームが欲しいチーム。導入のポイント: cloud.appwrite.io で無料利用開始。セルフホストはDocker一行で起動。SupabaseがPostgreSQL特化なのに対し、AppwriteはFirebaseライクな統合体験を提供します。
インストール・要件
docker run -it --rm \ --publish 20080:20080 \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \ --entrypoint="install" \ appwrite/appwrite:1.9.0
Docker が必須。Linux ホスト推奨。非 Linux ホスト(macOS / Windows)では起動完了まで数分かかる場合がある。
こんな場面で使う
Auth / Databases / Storage / Functions / Messaging / Sites の 6 サービスを 1 つのプラットフォームで提供する Backend-as-a-Service。Times of India、IBM、American Airlines、EY、Bosch、Decathlon、Acer 等が公式サイトで採用企業として明示されている。
情報源: appwrite.io公式は Storealert のケーススタディとして「Appwrite により開発時間 60% 削減、サーバーコスト 40% 削減」を掲載。Firebase の従量課金や Google エコシステム依存を避けたい開発者・チームが対象。
情報源: appwrite.io他ツールとの比較
- BSD-3-Clause OSS でセルフホスト可能。Firebase の従量課金を回避できる
- Docker 1 コマンドでセルフホスト起動、内部実装の確認・改変が可能
- Sites(Web ホスティング、カスタムドメイン・SSR・Git 連携・プレビュー対応)を含む 6 サービスを統合提供
- Web / Flutter / Apple / Android / React Native のクライアント SDK + Node.js / Python / PHP / Dart / Ruby / Swift のサーバー SDK を提供
- Firebase は Google インフラで自動スケール。Appwrite セルフホストは自前のスケール設計が必要
- Firebase は Crashlytics / Analytics / Performance Monitoring / Remote Config 等の周辺サービスを標準提供
- Firebase は Vertex AI / BigQuery 等 Google エコシステムと密結合した連携機能を持つ
- Sites(Web ホスティング)を標準搭載。Supabase は DB + Auth + Edge Functions が中心でホスティングは別途構成が必要
- メッセージング(Email / SMS / プッシュ通知)が標準同梱
- Functions は 15 ランタイム対応で、対応言語の幅が広い
- Docker 1 コマンドで全サービスを起動可能
- Supabase は PostgreSQL ネイティブで PostgREST 経由の REST と pg_graphql 経由の GraphQL を標準提供
- Supabase は pgvector による AI / ベクトル埋め込みツールキットを標準同梱
- Supabase は Apache-2.0 ライセンスで、商用利用条件がより緩い
- Supabase は PostgreSQL の拡張機能(PostGIS / TimescaleDB 等)をそのまま活用可能
- Sites(Web ホスティング)、メッセージング、15 ランタイムの Functions など機能の幅が広い
- Web / Flutter / Apple / Android / React Native の公式クライアント SDK を提供
- Docker / Kubernetes / Docker Swarm / Rancher での本番運用構成に対応
- PocketBase は単一バイナリ + SQLite で動作し、./pocketbase serve 1 行で起動
- PocketBase は外部依存ゼロで Docker すら不要、Raspberry Pi 等の小型機器でも完結
- PocketBase は SQLite ファイル 1 つで全データを持ち出せる移植性
日本語情報
公式日本語ドキュメントは未提供。Qiita では Appwrite を主題とした記事が 10件未満と少なめで、Zenn でも数件程度。Firebase 代替候補としての紹介と Flutter 連携の入門記事が中心。
採用企業(公式 Customers より)
このツールについてよくある質問
- Appwrite Cloud と self-hosted のどちらを選ぶべきか、判断軸は?
- 公式 docs では Cloud と self-hosted の両方が提供されているが、選択基準は明示されていない。GitHub Discussions の Q&A で頻出する self-host 関連の質問(proxy 設定、CORS、Session Cookie の永続化、SDK の endpoint 構成など)を踏まえると、データ完全制御 / 規制対応(GDPR / 金融規制等)/ 社内ネットワーク前提などの要件がある場合は self-hosted、それ以外は運用負荷の小さい Cloud という選び方になる。 情報源: github.com
- ファイルアップロードで「401 unauthorized」エラーが出る場合の確認ポイントは?
- GitHub Discussions Q&A では「Appwrite storage upload returns 401 unauthorized」「Get files by its url from storage」など、ファイル / Storage 周りの認証エラーが頻出している。Storage の write 権限設定(バケットレベル / ファイルレベル)と、リクエスト時の Session トークンまたは API Key の付与方法を確認する必要がある。 情報源: github.com
- account.get() が null を返してセッションが維持されない場合は?
- GitHub Discussions Q&A では「account.get() returns null and session cookie not stored」のような Session 永続化の問題が頻出している。クロスドメイン構成(CORS / SameSite Cookie 設定)、SDK 初期化時の endpoint と projectId、self-host 時の proxy 経由でのドメイン書き換えなどが主な確認ポイントとなる。 情報源: github.com
導入時の注意点
- 旧バージョンからのアップグレードには公式の Appwrite マイグレーションツールが必要。バージョン跨ぎの破壊的変更があり得るため、本番運用ではバージョン固定とアップグレード時の動作確認が必要。情報源: github.com
- 非 Linux ホスト(macOS / Windows)では Docker 起動後のセットアップ完了までに数分かかる場合がある。ローカル開発環境では起動時間を見込んでおく必要がある。情報源: github.com