mrkeyoor.com_
Tue 01 Sept 17:43 UTC
Self-Hostedevaluationupdated 24 Aug 2026

postiz-app review

Postiz is a self-hosted social media scheduler for drafting, approving, and publishing posts across many networks from one calendar. It gives teams an open-source alternative to hosted tools such as Buffer, with automation through an API, integrations, and MCP.

+190stars / 7d
Verdict

Postiz is a credible choice for an agency or technical marketing team that wants a shared scheduler without handing the whole workflow to a SaaS vendor. Its product scope is stronger than its source-checkout test experience: our build passed, while the root Jest command failed before running tests. Use the official Compose deployment and budget time for provider apps; choose a hosted scheduler if nobody owns that work.

We ran it

Lab card: what happened when we ran postiz-appScreenshot of postiz-app (postiz.com)
Install✓ · 126s1 packages · 3180 MB
Build✓ · 141s
Tests✗ · 7sran, no count parsed
Repo943 files~126,258 lines of source · 18 MB · 7 CI workflows

Answers from our run

Does postiz-app build from source?

Dependencies installed in 126 seconds (1 packages), and the build succeeded in 141 seconds. We cloned commit 81af6c9 into a clean Debian container with 3 CPUs and no project-specific setup.

Do postiz-app's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use postiz-app?

Anyone expecting every channel to work after one Docker command: most providers require a developer app and environment variables, and the docs say unconfigured providers still appear but fail when clicked.

What are the alternatives to postiz-app?

Mixpost, Buffer, n8n. Postiz is a credible choice for an agency or technical marketing team that wants a shared scheduler without handing the whole workflow to a SaaS vendor.

Setup2/5Build passed, but tests failed and the live stack needs four services
Docs4/5Clear deployment, configuration, provider, and platform guides
Community5/5Large following with issue and pull-request activity this week
Maturity4/5Frequent releases and broad features, with active provider bugs

Discussed on

  1. hnShow HN: Postiz – open-source social media scheduling tool19 points
  2. hnPostiz – open-source social media scheduler8 points
  3. hnShow HN: Postiz – open-source social media scheduling tool7 points
  4. hnShow HN: Postiz – social media open-source scheduler7 points

Who it’s for

Small agencies that want one shared calendar and control over where client content is stored.
Teams willing to register social-platform apps and operate Postgres, Redis, and Temporal.
Developers who want to automate publishing through the public API, n8n, Make, Zapier, or MCP.
Organizations prepared to meet the AGPL-3.0 obligations of a modified network service.

Who it’s NOT for

Anyone expecting every channel to work after one Docker command: most providers require a developer app and environment variables, and the docs say unconfigured providers still appear but fail when clicked.
Operators who want a small, single-process service: the supported stack includes Postgres, Redis, Temporal, media storage, a reverse proxy, and several application processes.
Teams that require a permissive license for a proprietary hosted fork: Postiz uses AGPL-3.0.
Maintainers who require the root test command to pass in a clean source checkout: our measured run stopped before tests because Jest could not resolve @nx/jest from the TypeScript config.

Setup reality

Our commit 81af6c9 checkout had 943 files, about 126,258 source lines, and occupied 18 MB. In a fresh Node 22 container with 3 CPUs and 8 GB RAM, pnpm installation succeeded in 126 seconds and reported 1 package installed, using 3,180 MB on disk. The build succeeded in 141 seconds. Tests failed after 7 seconds because Jest could not compile jest.config.ts: @nx/jest or its types could not be found.

Running the product takes more than building the monorepo. Postiz requires PostgreSQL, Redis, Temporal, six core environment variables, persistent local storage or Cloudflare R2, and HTTPS for secure cookies. Most social networks also require a developer app and OAuth credentials; a smaller set accepts credentials from each user.

The project recommends a separate Docker Compose repository for normal self-hosting. Source development uses Node 22 and pnpm workspaces across the Next.js frontend, NestJS backend, and orchestrator. Our checkout had seven CI workflow files, no Dockerfile, no tests directory, and monorepo workspaces.

A scheduler you can own

Postiz puts a publishing calendar, composer, media library, analytics, team access, and automation in one application. It connects to mainstream social networks as well as services such as Mastodon, Bluesky, Discord, and Slack. A team can write one base post, adjust it for each channel, schedule it, and inspect the published result from the calendar. The self-hosted edition has no plan limits when billing variables are absent.

This is useful for an agency that dislikes copying the same campaign between browser tabs, or for an internal media team that needs a shared queue. The public API and integrations with n8n, Make, and Zapier give developers a route around the interface. Postiz also exposes an MCP endpoint, so an agent can work with the publishing system under the permissions you configure.

The breadth has a cost. Social publishing is a pile of provider rules, OAuth callbacks, media constraints, expiring credentials, and background jobs. Postiz gathers that work into one codebase, but self-hosting does not make it disappear. You become the operator of the scheduler and the party responsible for each provider relationship.

What happened when we ran it

We tested commit 81af6c9 in an unprivileged Node 22 container with 3 CPUs, 8 GB RAM, and no secrets. The checkout contained 943 files and about 126,258 source lines, with an 18 MB repository footprint. The pnpm installation succeeded in 126 seconds. It reported 1 package installed and consumed 3,180 MB on disk, which is a striking expansion from the checkout size.

The production build succeeded in 141 seconds. That is useful evidence that the main frontend, backend, and orchestrator build path can complete in a clean environment. The repository is a pnpm workspace monorepo, and we found seven CI workflow files. There was no Dockerfile and no tests directory in the measured checkout.

The test step failed after 7 seconds, before any tests ran. Jest tried to read the TypeScript configuration at jest.config.ts, then TypeScript reported that it could not find @nx/jest or its type declarations. The log does not establish why that module was absent, so we will not turn it into a dependency diagnosis. The practical finding is narrower: the root test command did not produce a passing test run from this fresh checkout.

Docker gets the services running, not the channels

The main README sends operators to a separate quick-start guide. Postiz recommends its dedicated Docker Compose repository for a normal deployment, while this repository is the source monorepo. The Compose setup brings up the application with PostgreSQL, Redis, and Temporal. Media can remain on a mounted local directory or move to Cloudflare R2. Production also needs a reverse proxy and HTTPS because the application uses secure cookies.

Configuration is entirely environment based. Six core values are required, covering the database, Redis, session signing, the public frontend and backend addresses, and the backend's internal address. Temporal handles scheduled posts and background workflows. A backup plan therefore has to cover the database and uploaded media, while monitoring has to include the workflow service as well as the web application.

Connecting accounts is the slower part. A small group of providers accepts credentials directly from each user, making them suitable for a first check. Most networks require the operator to register a developer app and add its keys. The documentation warns that every provider remains visible even when its keys are missing; clicking an unconfigured one produces a failed connection. That is a poor failure mode for users and an extra support burden for administrators.

The product scope is genuinely useful

Postiz covers more than timed text posts. Its calendar supports channel-specific edits and previews, required fields for services such as YouTube or Reddit, drafts, immediate publication, and error status after a scheduled attempt. The README says the hosted and self-hosted products currently have the same feature set. Self-hosted installations without Stripe configuration behave as the top tier, which makes the software appealing to teams with many channels.

Recent engineering work addresses problems that matter in a publishing queue. Release v2.23.0, published on August 4, 2026, added streamed media uploads, duplicate-post protection for interrupted publishing, SSRF protections, and MCP connection fixes. Those are operational fixes, not decorative additions. Duplicate publication and memory spikes during video upload can both become expensive mistakes.

Current issue activity shows why ongoing maintenance still matters. On August 23, reports and pull requests covered scheduled posts shifting by an hour, Reddit publishing failures, Telegram caption limits, and attachment validation. Social APIs change underneath the scheduler, so a self-hosted team should expect upgrades and should test its important channels after them.

Health, license, and the decision

The repository was pushed on August 24, 2026, the same day we reviewed it. Its GitHub page showed 35,078 stars and 274 open issues and pull requests combined. Recent pull requests and issue updates were active across publishing fixes and integrations. The queue is substantial, but the push date and daily activity show a maintained project rather than an abandoned one.

Documentation is one of Postiz's better parts. Separate pages cover system requirements, Compose, standalone Docker, Kubernetes, environment variables, storage, reverse proxies, provider keys, and platform posting rules. The AGPL-3.0 license deserves an early legal check if a company plans to modify Postiz and offer it over a network.

Choose Postiz when control over hosting and a full editorial calendar justify owning the stack. Start with the official Compose repository, connect one low-friction provider, and verify scheduled delivery before migrating a campaign. If your team has no appetite for OAuth registrations, Temporal, storage, backups, and upgrades, Buffer or another hosted scheduler is the more sensible purchase.

Alternatives

ProjectWhat it isPick it when
MixpostA Laravel-based self-hosted social publishing app with a narrower operating stack.pick this instead when your team already runs PHP and Laravel and prefers that ecosystem.
BufferA hosted social scheduling service that handles infrastructure and provider setup for you.pick this instead when reducing operational work matters more than source control and self-hosting.
n8n gh↗A workflow automation platform that can assemble custom publishing flows across services.pick this instead when social posting is one step inside a wider business workflow and you do not need a dedicated editorial calendar.

What people are saying

  1. [github-trending] gitroomhq/postiz-app

Sources

  1. Postiz repository and README
  2. Postiz installation options
  3. Postiz configuration reference
  4. Postiz provider API keys
  5. Postiz v2.23.0 release

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →