Postiz

The agentic social media scheduler — AI-powered content creation, 33-platform posting, and team workflows, all self-hosted.

32.7Kstars
6.1Kforks
GNU AGPLv3
TypeScript

Postiz is an open-source, self-hosted social media scheduling platform that combines AI-driven content generation, cross-platform publishing, and team collaboration in a single deployable application. It covers the full lifecycle of social content — from AI-assisted drafting and image generation to scheduling, analytics, and automated engagement — across 33 platforms including X, Instagram, TikTok, LinkedIn, Bluesky, Mastodon, Nostr, Farcaster, Telegram, Discord, YouTube, Reddit, Pinterest, WordPress, and more.

The platform is built on a modern TypeScript monorepo using NestJS for the backend, Next.js for the frontend, Prisma with PostgreSQL for persistence, Redis for caching and rate limiting, and Temporal.io for reliable workflow orchestration. An embedded Mastra AI agent framework powers the built-in assistant, while a first-party MCP (Model Context Protocol) server makes Postiz programmable from any AI agent — including a dedicated postiz-agent CLI built for autonomous agent pipelines.

Postiz is designed for creators, indie hackers, agencies, and businesses that want to eliminate subscription fees for tools like Buffer, Hypefury, or Later, while gaining deeper automation capabilities through a public REST API, an official Node.js SDK, n8n and Make.com native integrations, and Zapier support. The self-hosted version ships at full parity with the cloud version — no feature gating between hosted and self-managed deployments.

With over 32,000 GitHub stars, nearly 6,000 forks, and more than 185 releases since July 2023, Postiz has become one of the fastest-growing open-source social media tools. The project maintains an active release cadence of multiple releases per month and a vibrant contributor community.

What You Get

  • 33-Platform Publishing - Schedule and auto-post content to X (Twitter), Instagram, TikTok, LinkedIn (personal and pages), Bluesky, Mastodon, Farcaster, Nostr, Threads, YouTube, Reddit, Pinterest, Discord, Slack, Telegram, Facebook, VK, Kick, Twitch, WordPress, Medium, Dev.to, Hashnode, Dribbble, Google My Business, Skool, Whop, MeWe, Moltbook, Listmonk, and more from a single calendar interface.
  • AI Content Agent - An embedded Mastra-powered AI assistant generates post captions, rewrites content for different platform tones, suggests hashtags, and creates full content calendars — with persistent memory across sessions and tool-calling capabilities.
  • AI Image Generator - Create and edit social media visuals inside Postiz using a Polotno-powered canvas editor with AI image generation, eliminating the need to leave the app for design work.
  • MCP Server and CLI Agent - A built-in Model Context Protocol server exposes Postiz scheduling and analytics as tools consumable by any MCP-compatible AI agent; the companion postiz-agent CLI is purpose-built for agentic automation pipelines.
  • Team Collaboration and Approvals - Invite team members with role-based permissions to comment on, approve, and schedule posts; agencies can manage multiple client workspaces from one installation.
  • Auto Actions - Configure trigger-based automations that fire auto-likes, auto-comments, or follow-up posts when a post reaches a defined engagement threshold on a given platform.
  • Comprehensive Analytics - Track follower growth, impressions, engagement rates, and post-level performance across all connected platforms; analytics data is owned locally with no third-party intermediary.
  • Public API, Node.js SDK, and Workflow Integrations - Access the full Postiz feature set via a documented REST API, official @postiz/node SDK, native n8n node, Make.com app, and Zapier integration — enabling full integration with custom pipelines and business automation tools.

Common Use Cases

  • Running a multi-platform creator brand - A solo content creator connects their X, Instagram, TikTok, Bluesky, and LinkedIn accounts, uses the AI agent to generate platform-specific variations of a weekly post idea, schedules them across the week, and reviews unified engagement analytics every Friday.
  • Managing client social accounts at an agency - A social media agency installs Postiz on their own server, creates separate workspaces per client, assigns team members to specific accounts, and uses approval workflows to ensure client sign-off before every scheduled post goes live.
  • Automating social distribution from a product pipeline - A SaaS company triggers Postiz via n8n whenever a new blog post is published: the workflow sends the URL to Postiz, the AI agent generates platform-tailored announcements for LinkedIn, X, and Discord, and the posts are scheduled to go live over the next three days.
  • Building an AI agent that manages social posting - A developer uses Postiz’s MCP server to give their LLM agent the ability to list integrations, schedule posts, generate images, and check analytics — turning Postiz into the social-media execution layer of a fully autonomous marketing agent.

Under The Hood

Architecture Postiz is a pnpm monorepo comprising distinct deployable applications — a NestJS backend, a Next.js frontend, a Temporal orchestrator, a browser extension, a CLI agent, and an SDK — sharing code through three internal libraries: nestjs-libraries (domain logic, integrations, database), react-shared-libraries (UI primitives), and helpers (utilities, configuration). The backend follows a layered module architecture with NestJS dependency injection: each domain (posts, integrations, subscriptions, analytics, agent, MCP chat) is encapsulated in its own module with service and repository layers, wired together at the AppModule level. Workflow orchestration is delegated to Temporal.io, which handles scheduled post delivery, token refresh cycles, digest emails, and streak tracking as durable, fault-tolerant workflows — decoupling the backend from time-sensitive side effects. The AI agent layer is built on Mastra and CopilotKit, giving it persistent memory, tool-calling, and a streaming chat interface that connects directly to scheduling and analytics services.

Tech Stack The backend runs on Node.js 22 with NestJS 11 and Prisma 6 targeting PostgreSQL, with Redis (ioredis) handling caching, rate limiting via @nestjs/throttler backed by Redis, and session management. The frontend is Next.js 16 with React 19, Mantine UI v5, TipTap for rich text editing, Polotno for the canvas image editor, SWR for data fetching, and Tailwind CSS 3 for styling. Temporal.io provides distributed workflow execution with PostgreSQL persistence. The AI stack combines Mastra (agent orchestration, memory via @mastra/pg), LangChain, and the Vercel AI SDK for model calls. Platform integrations number 33 live providers — each as a standalone TypeScript class extending a common SocialAbstract interface — covering OAuth flows, media upload, post scheduling, token refresh, and analytics retrieval. Storage supports both local filesystem and Cloudflare R2 via the AWS S3 SDK. Sentry handles error monitoring across frontend and backend.

Code Quality Postiz ships no test files whatsoever — the Jest configuration and test scripts exist in package.json but there are zero .spec.ts or .test.ts files in the repository. Error handling is handled inconsistently: the backend applies global exception filters (HttpExceptionFilter, SubscriptionExceptionFilter, PostValidationExceptionFilter) that standardize HTTP error responses, but individual integration providers vary in how they surface platform API errors. TypeScript coverage is comprehensive across the codebase with strict config, class-validator for DTO validation, and class-transformer for serialization. Linting is enforced via ESLint with TypeScript-ESLint, React hooks rules, and Prettier for formatting. CI pipelines run lint and build checks on pull requests. The rapidly expanding integration surface (33 providers, each with distinct OAuth and posting behaviors) creates real maintenance pressure — inconsistent error propagation and a lack of automated tests are the clearest quality gaps.

What Makes It Unique Postiz’s most distinctive architectural decision is treating social scheduling as an agent-programmable substrate rather than a standalone SaaS: its built-in MCP server exposes scheduling, analytics, and image generation as callable tools for any LLM agent, and the companion postiz-agent CLI is explicitly designed to plug into autonomous agent pipelines like OpenClaw. The platform also covers non-mainstream social layers that most competitors ignore — Farcaster (Web3 social), Nostr (decentralized protocol), VK (Russian social network), Lemmy (federated Reddit alternative), MeWe, Skool, and Whop — while offering a matching depth on mainstream platforms. The integration of Polotno’s full canvas editor directly inside the scheduling flow, combined with AI image generation, eliminates a context switch that every other open-source scheduler leaves to external tools.

Self-Hosting

Postiz is released under the GNU Affero General Public License v3.0 (AGPL-3.0). This means the full source code is freely available to read, modify, and self-host for any purpose, including commercial use. The copyleft condition that matters most for self-hosters is the “network use” clause: if you modify Postiz and make it available over a network to other users — for example, running a modified version as a SaaS product for customers — you are required to release your modifications under AGPL-3.0 as well. For a business simply running Postiz internally or for its own social media management, the AGPL places no restrictions on commercial use or confidentiality of your data.

Running Postiz yourself requires meaningful infrastructure: PostgreSQL, Redis, Temporal.io (with its own PostgreSQL schema), a Node.js 22 runtime, optional S3-compatible object storage for media, and a reverse proxy to expose the frontend and backend. The Docker Compose setup bundles all services and is the recommended starting point, but production deployments need to address database backups, Redis persistence, Temporal worker scaling, secret management for the many OAuth application credentials (each platform requires its own registered OAuth app), and monitoring. The long list of required environment variables — OAuth credentials for each integrated platform, SMTP for email, optional Stripe for billing — means initial setup takes hours rather than minutes.

Compared to the hosted Postiz Cloud offering at postiz.com, self-hosting provides identical features — the README explicitly states “there is no difference between the hosted version and the self-hosted version” — but you trade away managed upgrades, automated backups, support SLAs, and the convenience of pre-configured OAuth apps. Platform API credentials for X (Twitter), LinkedIn, TikTok, Pinterest, and others require separate developer account applications and approval processes, which the hosted version handles on behalf of users. Updates are manual: you pull new Docker images and run prisma db push for schema migrations.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack

No spam. Unsubscribe anytime.

Join 750+ subscribers
No spam. Unsubscribe anytime.

Search