Postizは複数のSNSアカウントへの投稿予約・分析・チーム協業を1つの管理画面でこなすオープンソースのソーシャルメディア管理ツールです。X、LinkedIn、Instagramなど多数のプラットフォームに対応し、N8NやMake.com、Zapierと連携できる公開APIも備えています。AGPL 3.0ライセンスで、セルフホストとホスティング版に機能差はないと明記されています。
pnpmワークスペースによるモノレポ構成で、apps/frontendがNextJS製の管理画面、apps/backendがNestJS製のAPIサーバーです。api.module.tsを見ると、認証・投稿・課金・分析・Webhook・OAuthなど数十のコントローラーが1つのモジュールに集約されています。データはPrisma経由でPostgreSQLに保存され、投稿の予約実行にはTemporalが使われる構成です。apps/commandsは別プロセスのcronタスク群で、agent.run.tsやrefresh.tokens.tsがトークン更新や自動投稿処理を担っています。認証はauth.middleware.tsとproviders配下のGoogle、GitHub、Apple、Farcaster、Walletなど複数プロバイダーで実装され、権限管理はpermissions.guard.ts、permissions.service.tsのCASLベースの仕組みです。apps/extensionはChrome拡張で、cookie-provider.interface.tsを介してSkoolなどログインが必要なプラットフォームへの投稿を補助します。メール通知はResend、決済はStripe/RevenueCatのpayment.provider.managerで抽象化されています。
- STEP 01
READMEのQuick Startリンクからdocsに進み、.env.exampleを基に環境変数(DB接続、Redis、OAuthキーなど)を用意する作業から始まります。
- STEP 02
pnpmでモノレポ全体の依存関係をインストールし、Prismaのマイグレーションを実行してPostgreSQLスキーマを構築する手順を踏みます。
- STEP 03
apps/backend(NestJS API)とapps/frontend(NextJS管理画面)をそれぞれdevモードで起動し、ブラウザで管理画面のログイン画面を確認します。
- STEP 04
連携したいSNSのOAuthアプリ登録(クライアントID・シークレット)を各プラットフォーム側で行い、.envに設定してから統合画面でアカウントを接続します。
- STEP 05
投稿を作成して予約すると、apps/commandsのcronタスクとTemporalワークフローが裏で動き、指定時刻に自動投稿される流れを確認できます。
- STEP 06
Chrome拡張が必要なプラットフォーム(例: Skool)を使う場合は、apps/extensionを別途ビルドしてブラウザに読み込む追加作業が発生します。
実際に環境構築が完了すると、複数SNSアカウントを1画面で管理し、予約投稿・分析ダッシュボード・チームメンバーとの投稿コメント共有ができる管理画面が手に入ります。加えて公開APIやNode SDK経由でN8N・Make.comなどの外部ワークフローから投稿を自動化できる基盤も同時に得られます。
設定が必要な要素(PostgreSQL、Redis、Temporal、各SNSのOAuthアプリ登録、Resendキーなど)が多く、READMEも詳細手順は外部のQuick Startガイドに委ねているため、初回セットアップの手間はそれなりに大きいと見込まれます。
commands(cronタスク)とbackend(APIサーバー)が別プロセス構成のため、自動投稿を正しく動かすには両方を起動し続ける運用管理が必要です。
一部プラットフォーム(Skoolなどcookieベース認証が必要なもの)はブラウザ拡張の別ビルド・インストールが前提になっており、通常のWeb版だけでは完結しません。
README上「ホスティング版とセルフホスト版に機能差はない」とありますが、課金・RevenueCat連携部分は自分のStripeアカウント設定が前提になるため、無料利用の範囲は自身で見極める必要があります。
複数SNSの予約投稿とAPI連携を自前サーバーで管理したい開発者やチーム、N8N・Make.comなどの自動化ワークフローに組み込みたい人に向いています。ソースコード上、認証・課金・投稿・分析まで一体化したNestJS+NextJS+Prisma+Temporalの構成が実在し、コントローラー群やcronタスクの実装が具体的に確認できるため、機能説明は誇張ではなく実装に基づいていると判断できます。ただしセットアップ要素が多いため、実際の使い勝手は環境構築の丁寧さに依存する点は留意してください。