今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

gitroomhq/postiz-app

複数のSNSプラットフォームへの投稿を一元管理できるオープンソースの社会メディアスケジューリングツールです。

X、Instagram、TikTok、LinkedInなど14個のSNSアカウントを1つの管理画面にまとめ、投稿の予約・発行をその場で試せるのがpostiz-appです。自社サーバーに立てれば公式OAuthだけでトークンを保管せず運用できるので、マーケティングチームの投稿スケジュールを外部サービスに預けずに済むという安心感を実際に確かめられます。さらにN8NノードやMake.com連携、APIも揃っているので、今日のうちに自動化ワークフローへ組み込んで動かしてみたくなります。

01 / 概要
何をするものか一文で言うと
ひとことで複数のSNSプラットフォームへの投稿を一元管理できるオープンソースの社会メディアスケジューリングツールです。

Postizは複数のSNSアカウントへの投稿予約・分析・チーム協業を1つの管理画面でこなすオープンソースのソーシャルメディア管理ツールです。X、LinkedIn、Instagramなど多数のプラットフォームに対応し、N8NやMake.com、Zapierと連携できる公開APIも備えています。AGPL 3.0ライセンスで、セルフホストとホスティング版に機能差はないと明記されています。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

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で抽象化されています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    READMEのQuick Startリンクからdocsに進み、.env.exampleを基に環境変数(DB接続、Redis、OAuthキーなど)を用意する作業から始まります。

  2. STEP 02

    pnpmでモノレポ全体の依存関係をインストールし、Prismaのマイグレーションを実行してPostgreSQLスキーマを構築する手順を踏みます。

  3. STEP 03

    apps/backend(NestJS API)とapps/frontend(NextJS管理画面)をそれぞれdevモードで起動し、ブラウザで管理画面のログイン画面を確認します。

  4. STEP 04

    連携したいSNSのOAuthアプリ登録(クライアントID・シークレット)を各プラットフォーム側で行い、.envに設定してから統合画面でアカウントを接続します。

  5. STEP 05

    投稿を作成して予約すると、apps/commandsのcronタスクとTemporalワークフローが裏で動き、指定時刻に自動投稿される流れを確認できます。

  6. STEP 06

    Chrome拡張が必要なプラットフォーム(例: Skool)を使う場合は、apps/extensionを別途ビルドしてブラウザに読み込む追加作業が発生します。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

実際に環境構築が完了すると、複数SNSアカウントを1画面で管理し、予約投稿・分析ダッシュボード・チームメンバーとの投稿コメント共有ができる管理画面が手に入ります。加えて公開APIやNode SDK経由でN8N・Make.comなどの外部ワークフローから投稿を自動化できる基盤も同時に得られます。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

設定が必要な要素(PostgreSQL、Redis、Temporal、各SNSのOAuthアプリ登録、Resendキーなど)が多く、READMEも詳細手順は外部のQuick Startガイドに委ねているため、初回セットアップの手間はそれなりに大きいと見込まれます。

02

commands(cronタスク)とbackend(APIサーバー)が別プロセス構成のため、自動投稿を正しく動かすには両方を起動し続ける運用管理が必要です。

03

一部プラットフォーム(Skoolなどcookieベース認証が必要なもの)はブラウザ拡張の別ビルド・インストールが前提になっており、通常のWeb版だけでは完結しません。

04

README上「ホスティング版とセルフホスト版に機能差はない」とありますが、課金・RevenueCat連携部分は自分のStripeアカウント設定が前提になるため、無料利用の範囲は自身で見極める必要があります。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

複数SNSの予約投稿とAPI連携を自前サーバーで管理したい開発者やチーム、N8N・Make.comなどの自動化ワークフローに組み込みたい人に向いています。ソースコード上、認証・課金・投稿・分析まで一体化したNestJS+NextJS+Prisma+Temporalの構成が実在し、コントローラー群やcronタスクの実装が具体的に確認できるため、機能説明は誇張ではなく実装に基づいていると判断できます。ただしセットアップ要素が多いため、実際の使い勝手は環境構築の丁寧さに依存する点は留意してください。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する