Skip to main content
This article guides you for local development on Postiz. If you’re only looking to self-host, docker-compose is the recommended method. Docker-Compose is the recommended method and now includes the Temporal stack for workflow processing.
Important: Postiz uses Temporal for background workflows. If you are upgrading from v2.11.2 to v2.12.0 or later, follow the migration guide at /installation/migration and use the maintained Docker Compose repository which includes the Temporal stack: /installation/docker-compose.

Tested configurations

  • MacOS
  • Linux (Fedora 40)
Naturally you can use these instructions to setup a development environment on any platform, but there may not be much experience in the community to help you with any issues you may encounter.

Warning about Windows

Several users using Windows (and WSL) have reported issues with the setup. This is not well tested as the main developers of the project do not use Windows/WSL for development. If you are using Windows and encounter issues, please do not try to get support, as we aren’t able to support you.

Prerequisite Local Services

  • Node.js - for running the code! (version 18+)
  • PostgreSQL - or any other SQL database (instructions below suggest Docker)
  • Redis - for handling worker queues (instructions below suggest Docker)
  • Temporal - runs as a separate stack (Postgres + Elasticsearch + Temporal services). For local development run the Temporal stack via the postiz-docker-compose repository described in /installation/docker-compose. Set TEMPORAL_ADDRESS in your .env to point at the Temporal service (example below).
We have some messages from users who are using Windows, which should work, but they are not tested well yet.

Installation Instructions

NodeJS (version 18+)

A complete guide of how to install NodeJS can be found here.

PostgreSQL (or any other SQL database) & Redis

You can choose Option A to Option B to install the database.

Option A) Postgres and Redis as Single containers

You can install Docker and run:

Option B) Postgres and Redis as docker-compose

Download the docker-compose.yaml file here, or grab it from the repository in the next step.
To run Temporal locally, clone the maintained Docker Compose repository which includes the Temporal stack and follow the instructions in /installation/docker-compose. See /installation/migration for migration steps when moving data to the Temporal-enabled setup.

Build Postiz

1

Clone the repository

2

Set environment variables

Copy the .env.example file to .env and fill in the values
3

Install the dependencies

4

Generate the prisma client and run the migrations

5

Run the project

If everything is running successfully, open http://localhost:4200 in your browser! If everything is not running - you had errors in the steps above, please head over to our support page.

Next Steps

Configure uploads

Set up R2 for file storage

Architecture

Learn the architecture of the project

Email notifications

Set up email for notifications

Providers

Set up providers such as LinkedIn, X and Reddit