Postiz is an open-source social media management platform for scheduling, automating and analysing posts across lots of networks at once. Think Buffer or Hootsuite, except you can run the whole thing on your own server.

It's on GitHub Trending today with about 38,000 stars, and it's licensed under AGPL-3.0.

What it does

The core loop is simple: connect your accounts, write a post once, pick a time, and Postiz publishes it. The docs count 34 supported platforms, from X, LinkedIn, YouTube, Reddit and Pinterest to Discord, Bluesky, Lemmy, Nostr, Medium and WordPress. Around that loop you get:

  • A calendar where every scheduled post lives. Click an empty slot to start a post at that time.
  • One composer for every network. Write once in a "Global" tab, then unlock individual channels to tailor them. A preview column shows how the post will look on each platform, and Postiz blocks the save if a channel is missing something it needs, like a YouTube title or a subreddit.
  • Analytics, teams and approvals: invite teammates to comment on and schedule posts.
  • Automation: RSS auto-posting, webhooks, a public API, a Node.js SDK, and integrations for n8n, Make.com and Zapier.
  • AI, if you want it: a copilot, image and video generation, and an MCP server and CLI so AI agents can drive it. On a self-hosted install, these only work with your own provider API keys.

How it works

Postiz is a TypeScript monorepo: a Next.js front end, a NestJS backend, Prisma on PostgreSQL, Redis, and Temporal to orchestrate the scheduled jobs. Temporal is a workflow engine that makes sure a post queued for 9:00 next Tuesday actually goes out, and retries if something fails along the way.

The project sells a hosted version, Postiz Cloud, but says plainly that it doesn't gate features: "Both provide the same core Postiz product and features." On a self-hosted install there are no plan limits. Channels, posts and team members are unlimited, and every install behaves as the top tier.

Trying it

The docs recommend Docker Compose, tested on a 2 GB RAM, 2 vCPU Ubuntu 24.04 VM. The compose file lives in its own repo:

git clone https://github.com/gitroomhq/postiz-docker-compose
cd postiz-docker-compose
docker compose up

Set your configuration through environment variables first; the docs have a full reference. Then open the app on port 4007. Temporal's own dashboard, for watching scheduled jobs, is on port 8080. The first account you register becomes the organisation owner. For anything beyond local testing, put it behind a reverse proxy with HTTPS, because Postiz sets secure cookies.

The quickest way to see it work: eight platforms need no developer setup at all, because you enter your own credentials in the connect dialog. They are Bluesky, Lemmy, Nostr, Medium, Dev.to, Hashnode, WordPress and Listmonk.

The fine print

  • The big networks make you do paperwork. Self-hosting means registering your own developer app on each platform and going through its approval. The README warns that "Meta, YouTube, TikTok can take weeks." Postiz Cloud skips this with pre-approved apps, which is the main thing you're paying for.
  • It's a real stack to run. Postgres, Redis, Temporal and the app, plus backups, upgrades and migrations, are all on you. Upgrading from older versions to the Temporal-based stack has its own migration guide.
  • AGPL. Use and modify it freely, but if you run a modified version as a service for others, you have to share your changes.

Who it's for

Postiz suits small teams, creators and agencies tired of per-seat SaaS pricing, developers who want to automate posting through an API or an AI agent, and anyone who wants their drafts, schedules and account tokens on their own server. If all you need is open platforms like Bluesky, Lemmy and Nostr, you can be up and posting in an afternoon. If you need Instagram and TikTok, budget time for the approvals.

The GitHub repo and the documentation are the places to start, and it's in the resource index now.

End of transmission.