プライベートなFaaSとか簡単なデータベースとか(いわゆるFirebase代替)が欲しかったのでセルフホストできるものを探してみた
Supabase
こういう系としては一番有名であろうsupabase。当初はこれにしようと思っていたがどうやらオープンソース版では1インスタンスで1プロジェクトらしく、これではまともに使えない。
AppWrite
こちらは確かsupabaseよりも後発のやつでsupabaseとほぼ同じ機能を備えている。
Supabaseより良い点としては
Supabaseより良い点としては
- オープンソースでフル機能使える
- FunctionでDenoやNodeなど様々なランタイムを選択可能。
悪い点は - コンテナの数が多い(20個も起動される)。
- なんだか全体的に管理UIがもっさりしてる気がする。
単に違う点としては - SupabaseはデータベースにPostgreSQLをそのまま使うがこちらはNoSQL風(Firebaseに近いとも言える?)。
PocketBase
Go製のワンバイナリで動くということで軽くてとても良さそう。データベースにはSQLiteを使っているようだが自分が使う程度ならこれで十分な気もする。
supabase同様これの内部でプロジェクト管理はできないが、一つ一つのインスタンスが超軽いためプロジェクトごとにインスタンスを建てればいいということだと思う。
supabase同様これの内部でプロジェクト管理はできないが、一つ一つのインスタンスが超軽いためプロジェクトごとにインスタンスを建てればいいということだと思う。
結論
AppWriteかPocketBaseかで迷ったが最終的にAppWriteを使うことにした。なかなか重量級のアプリケーションではあるがユーザーベースも大きいし機能が充実してて困ることはあまりなさそう
TODO: AppWriteのセットアップの記事を書く