Setup guide
Post setup guide trial
A clean setup guide for MacBook and Windows using the fastest Postiz self- hosted install path. Works best for creators and small teams macOS and Windows without going through full source setup.
GitHub Repo
Docker Setup Repo
Docker Compose stack: github.com/gitroomhq/postiz-docker-compose
OPEN-SOURCE SOCIAL SCHEDULING
Postiz SetupGuide
A clean setup guide for MacBook and Windows using the fastest Postiz self- hosted install path.
Recommended path: Docker Compose
Works best for creators and small teams
Local URL: http://localhost:4007
QUICK SETUP
Docker Compose is the simplest way to get Postiz running locally on both
macOS and Windows without going through full source setup. 2 Main repos to know 4007 Default local app port 8080
Temporal monitoring UI
1
Required manual edit: JWT_SECRET
Open the App
After startup, open: http://localhost:4007
What You Are Installing
Postiz describes itself as an open-source, self-hosted social media scheduling tool. The Docker Compose guide is the recommended install option for normal users.
What Is Optional
Add OPENAI_API_KEY only if you want Postiz AI features. Provider-specific client IDs and secrets are only needed for the channels you want to connect.
Before you start: Have Docker Desktop installed, keep an internet connection
available for the first image pull, and expect the first boot to take a few minutes. MACBOOK
Setup on macOS
This is the fastest route for Apple Silicon and Intel Macs. The Postiz docs only require
Docker, then the maintained Docker Compose repo.
Use Docker Desktop for Mac, then run the Postiz stack from Terminal.
Install Docker Desktop for Mac
Download Docker Desktop for your Mac from
docs.docker.com/installation/mac/. Start Docker Desktop once and wait
until it shows as running.
Clone the official Compose repo
Open Terminal and run
git clone https://github.com/gitroomhq/postiz-docker-
compose
cd postiz-docker-compose
Edit the required environment values
Open docker-compose.yaml in any editor. At minimum, replace the placeholder JWT_SECRET with a long, unique string. Keep the default localhost URLs unless you intentionally want a different port or domain.
# Example random secret command
openssl rand -base64 48
Required: JWT_SECRET
Optional: OPENAI_API_KEY for AI features
Optional after first signup: set DISABLE_REGISTRATION to true for a
single-user install If you change environment variables later, run docker compose down and then docker compose up -d
Start Postiz
From the same folder, run the official startup command
docker compose up
If you prefer running it in the background, docker compose up -d is the detached equivalent.
Open the app
When the stack finishes booting, open http://localhost:4007 in your browser. Temporal is available at http://localhost:8080.
Create your first account
Register the first user inside Postiz, then connect only the channels you actually plan to use. Provider-specific credentials can be added later from the docs for each platform.
WINDOWS
Setup on Windows
On Windows, the cleanest path is Docker Desktop with WSL2 enabled. The Postiz development docs note that Windows source development is not well tested, so
Docker Compose is the safer install route.
Run the Postiz files from your WSL Linux environment, not from a random Windows folder, for the least friction.
Install WSL2
Open PowerShell as Administrator and run
wsl –install wsl –update
Restart Windows if prompted. Microsoft’s installation guide is
learn.microsoft.com/windows/wsl/install.
Install Docker Desktop for Windows
Download Docker Desktop from
docs.docker.com/desktop/setup/install/windows-install/. During setup, keep the WSL2 backend enabled. After launch, go to Docker Desktop Settings and enable WSL integration for your Linux distro.
Open your Linux distro and install Git if needed
Start Ubuntu or your preferred WSL distro. If Git is missing, run
sudo apt update sudo apt install -y git
Clone Postiz inside WSL
Still inside Ubuntu, run
git clone https://github.com/gitroomhq/postiz-docker-
compose
cd postiz-docker-compose
Edit the compose file
Update docker-compose.yaml with your own JWT_SECRET. If you want a
simple editor from WSL, this is the quickest option
notepad.exe docker-compose.yaml You can also use VS Code or nano. Keep the localhost URLs unless you intentionally want a different host or port.
Start the stack from WSL
Run
docker compose up
The first run will pull several images. Let it finish before opening the app.
Sign in locally
Open http://localhost:4007 in your Windows browser, create the first account, and continue with channel setup inside the Postiz dashboard.
AFTER INSTALL
First Things to Configure
AI Features
Add OPENAI_API_KEY to the compose file if you want Postiz AI-assisted
features. Create the key in the OpenAI Platform quickstart
platform.openai.com/docs/quickstart.
Provider Credentials
You only need to add client IDs and secrets for the social platforms you actually plan to connect. Start from the providers overview: docs.postiz.com/providers.
Single-User Lockdown
After the first account is created, you can disable new signups with
DISABLE_REGISTRATION=true if you want a private install.
Data Persistence
The official compose file stores uploads, config, Redis, and Postgres data in
Docker volumes, so your data survives container restarts.
TROUBLESHOOTING
Fast Fixes
App does not open
docker compose ps
docker compose logs -f postiz
Port 4007 is busy Change the left side of the port mapping in docker-compose.yaml, then
update MAIN_URL, FRONTEND_URL, and NEXT_PUBLIC_BACKEND_URL to
match.
Docker feels slow
Increase CPU and memory in Docker Desktop settings, then restart the stack. Stop or update later
docker compose down
docker compose pull
docker compose up -d
Practical note: this guide uses the Docker Compose route because it is the fastest way to get Postiz running locally. If you want to modify the source code itself, switch to the developer setup instead. Environment change rule: when you edit Postiz environment variables after the first launch, bring the stack down and start it again so Docker recreates the containers with the updated values.
Final checklist
- The required app, command, or service opens correctly.
- Credentials are stored outside public files and screenshots.
- A small test run completes before you use the setup for real work.
- You know where logs, output files, and error messages are stored.