OPEN SOURCE · SOCIAL SCHEDULING

Replace Buffer with an open-source scheduler.

Postiz schedules to 30+ platforms, is licensed AGPL-3.0, and costs nothing to self-host. Here is the honest setup: the commands, the server you actually need, and the approval wall that stops most people on Instagram.

Buffer, 6 channels
$60/mo
$720 a year
Postiz self-hosted
$0
plus your server
Postiz cloud
$29/mo
5 channels
  1. 01

    Get a server

    Any VPS you control works: Hetzner, DigitalOcean, Railway, Coolify. Budget 8GB RAM. The stack is heavier than most guides admit, and the next section explains why.

  2. 02

    Clone and start it

    Three commands. Docker pulls every service and wires them together for you. Postiz comes up on port 4007.

  3. 03

    Set your JWT secret and URLs

    Open docker-compose.yaml and change JWT_SECRET to any random string. Point MAIN_URL, FRONTEND_URL and NEXT_PUBLIC_BACKEND_URL at your domain instead of localhost.

  4. 04

    Put it behind HTTPS

    Add a reverse proxy with TLS (Caddy or Nginx). Social platforms will not accept OAuth callbacks over plain http, so this step is not optional.

  5. 05

    Connect your channels

    Each platform needs its own developer app credentials, pasted into the environment variables. This is where the real work is. Read the next section before you start.

The Commands

Copy & paste this

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

Postiz then runs at http://localhost:4007. Always pull the compose file from the repo rather than copying an old snapshot, because the services change between releases.

Before you pick a server

That one command starts eight containers

Most tutorials still describe Postiz as “an app, a database and a Redis.” Current releases also run a full Temporal workflow stack, which brings its own Postgres and an Elasticsearch node. Elasticsearch alone wants around 512MB before it does anything useful. On a 2GB box this will not stay up.

  • postiz
  • postiz-postgres
  • postiz-redis
  • temporal
  • temporal-postgresql
  • temporal-elasticsearch
  • temporal-admin-tools
  • temporal-ui
The part nobody mentions

Self-hosting does not get you Instagram

Postiz uses each platform’s official API. Self-hosted, those credentials have to be yours, which means registering your own developer app and passing review. Instagram publishing also requires a Business or Creator account linked to a Facebook Page. A personal Instagram account cannot be automated at all.

“Facebook, Instagram, Threads and YouTube are more complicated and can usually take more than a month with multiple changes in the submissions, privacy policy and terms of service.”

— Postiz’s own pricing FAQ
Approve quickly
LinkedInXBlueskyMastodonDiscordTelegramRedditSlack
Expect a review process
InstagramFacebookThreadsYouTubeTikTok
The pragmatic setup

Split it, and stop paying per channel

Self-host for the platforms that approve in minutes, which covers most of what a founder posts to. If Instagram and TikTok matter to you and you would rather not spend a month in app review, their hosted plan starts at $29 a month and the approval is handled for you. Either way you are under what Buffer charges for six channels, and the content, the calendar and the data stay yours.

Want this across your whole business?

Klevere designs and builds custom AI agents and automation that handle work like this end to end.

Postiz is licensed AGPL-3.0. Star counts, pricing and the container list reflect the project at the time of writing and do change. Check the repository and Postiz’s pricing page for current details before committing to a setup.