Postiz

Postiz

One post, tailored per network, published on schedule

Postiz is a social media scheduler written in TypeScript (Next.js and NestJS) and licensed under AGPL-3.0. You write a post once, tailor it for each network and place it on a calendar, and Postiz publishes it at the set time. The same codebase runs Postiz Cloud, the vendor's hosted service, and any self-hosted instance. The project's site calls it an "agentic" scheduler that Claude, ChatGPT or Cursor can drive through an MCP server, and it publishes comparison pages against Buffer, Hootsuite, Later and some sixty other services.

Mixpost restricts its free edition to Facebook, X and Mastodon. BrightBean Studio, built in Python on Django, has no paid tier at all.

The comparison of self-hosted social media schedulers sets out which networks each one covers and what each paid edition keeps for itself.

35 channel types and no cloud-only features

  • 35 channel types in the code: X, LinkedIn (profiles and pages), Instagram, Facebook, Threads, YouTube, TikTok, Pinterest, Reddit, Bluesky and Mastodon, along with Telegram, Discord, Lemmy, Nostr, WordPress and the Listmonk newsletter tool. The README shows only 14 of them.
  • Ten channels without a developer app: Bluesky, Lemmy, Nostr, Medium, Dev.to, Hashnode, WordPress, Listmonk and Moltbook connect from the UI with, at most, a username, an API key or an app password. Skool goes through a browser extension.
  • Nothing locked to the cloud: "We do not 'gate' features," the README says. A self-hosted instance has no cap on channels, posts or team members. Postiz Cloud caps channels at 5 on its $29/month plan and at 100 on the $99 one, and its Standard plan has no team support.
  • API, webhooks and agents: a Node SDK, an n8n node, a Make integration, an MCP server and a CLI. Since v2.25.0, the Postiz Cloud connector for Claude can relay its calls to a self-hosted instance.
  • Team review: invitations, and comments anchored to a post's preview page, which people without an account can also leave since v2.25.0.

Temporal stack, and an approved developer app per network

The official Compose file starts nine containers. Postiz, Postgres 17 and Redis 7.2, then the Temporal stack, mandatory since v2.12.0 (January 2026): the Temporal server, its own Postgres 16 database, Elasticsearch 7.17, the admin tools and the web UI. The ninth is Spotlight, a Sentry debugging tool. The docs set a floor of 2 vCPU and 2 GB of RAM, enough for one user under light load, and recommend 4 vCPU, 8 GB and 50 GB of disk.

HTTPS, and your own app on every major network. Postiz sets secure cookies and expects HTTPS in production. For X, LinkedIn, Meta, YouTube, TikTok, Pinterest or Reddit, you register an app on the platform's developer portal and get it approved; the README warns that Meta, YouTube and TikTok can take weeks. Until your TikTok app passes its audit, every post goes out as private. A Facebook app left in Development mode publishes posts whose images only its testers can see. Postiz Cloud comes with pre-approved apps.

Sign-up is open by default. The Compose file sets DISABLE_REGISTRATION to false. Set to true, it lets exactly one account register and then closes the sign-up page. Without a Resend key, new accounts are activated with no email check.

AI and analytics run on your own keys. The copilot, image and video generation and the agent need an OpenAI key or another provider's, billed by that provider. Analytics need apps registered with each platform's analytics scopes.

The whole repository is AGPL-3.0. No directory sits under a commercial license. If you modify Postiz and offer it as a service to others, you must provide the modified source to those users.

28 releases since January, one lead developer. From v2.12.0 (January 14, 2026) to v2.25.0 (October 2, 2026), 28 versions shipped, and the main branch took 389 commits in the last thirty days, merges included. One developer accounts for 1,699 commits, more than the next three combined. The last two releases both change the database schema, which the official image applies on startup, and v2.24.0, which fixed two vulnerabilities, urged every user to upgrade "immediately". The repository's Compose file pulls the latest image.