Skip to main content

Architecture

Postiz is composed of 3 main services and 4 external services - all 3 of the main services typically run within a single docker container, and talk to each other through HTTP. Those services talk to other containers running the external services - the SQL Database, Redis, Temporal and Storage.
  • Frontend - Provides the Web user interface, talks to the Backend.
  • Backend - Does all the real work, provides an API for the frontend, and triggers workflows via Temporal.
  • Orchestrator - Runs Temporal workflows and activities, replacing the old cron and worker services.
  • Temporal - A durable workflow engine that manages scheduling, retries, and task distribution.
  • Redis - Used for session state management and caching.
  • SQL Database - Stores all the data, Postgres is typically used, but any SQL database can be used.
  • Storage - Stores all the files, this used to be CloudFlare R2 as the default, but now it’s just a local file system.

Frontend

The frontend is the part that you see, the web interface. It relies on the backend to:
  • Schedule posts
  • Show analytics
  • Manage users

Backend

The backend is the β€œbrain” of Postiz, and coordinates all the work. It triggers Temporal workflows for async operations like posting to social media, sending emails, and refreshing tokens. Typically the SQL database it talks to is Postgres, but other databases can be used.

Orchestrator

The orchestrator replaces the old cron and worker services with Temporal workflows. It handles:
  • Posting scheduled content to social media platforms.
  • Refreshing tokens from different social media platforms.
  • Sending digest and notification emails.
  • Checking for missing posts and auto-posting.
  • Tracking user posting streaks.

Temporal

Temporal is a durable workflow execution engine. It provides:
  • Reliable scheduling - Workflows run at the right time with automatic retries on failure.
  • Task queues - Each social platform gets its own task queue for concurrency control.
  • Workflow visibility - A built-in UI for monitoring and debugging workflow execution.
  • Durable state - Workflow state is persisted, so nothing is lost if a service restarts.