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.
- 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.
- 02
Clone and start it
Three commands. Docker pulls every service and wires them together for you. Postiz comes up on port 4007.
- 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.
- 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.
- 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.
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.
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
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
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.