appwrite

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)では起動完了まで数分かかる場合がある。

対応プラットフォーム
DockerKubernetesDocker SwarmRancher
情報源: github.com

こんな場面で使う

Web / モバイル / AI アプリ向けの統合バックエンド

Auth / Databases / Storage / Functions / Messaging / Sites の 6 サービスを 1 つのプラットフォームで提供する Backend-as-a-Service。Times of India、IBM、American Airlines、EY、Bosch、Decathlon、Acer 等が公式サイトで採用企業として明示されている。

情報源: appwrite.io
Firebase 代替としてのコスト削減と開発加速

公式は 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 連携の入門記事が中心。

Qiita 記事
少数(10件未満)
Zenn 記事
少数(10件未満)

採用企業(公式 Customers より)

Times of India, IBM, American Airlines, EY, Bosch, Decathlon, Acer
情報源: appwrite.io

このツールについてよくある質問

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
Stars
55,582
Forks
5,193
言語
TypeScript
ライセンス
BSD-3-Clause
androidappwritebackendbackend-as-a-servicefirebaseflutterhostingiosjavascriptnextjs+7

代替元のサービス

関連ツール