Replaces Buffer with Postiz, a self-hosted open-source social media scheduling tool. Deployed on sven as a single UBI 10 systemd container.
RT #1392
Single container running all services:
| Service | Port | Purpose |
|---|---|---|
| PostgreSQL 16 | 5432 | App DB + Temporal persistence + visibility |
| Redis 7 | 6379 | Caching/sessions |
| Temporal 1.29.3 | 7233 | Workflow orchestration (scheduled posts) |
| Node.js 22 (PM2) | 3000, 4200 | Backend + Frontend |
| nginx | 5000 | Internal reverse proxy |
External: port 8092 on sven -> container port 5000.
podman build -t localhost/postiz:latest .Build requires ~4GB memory for the Node.js compilation step.
See /srv/postiz.crunchtools.com/ on sven for the deployment configuration.
Postiz exposes a Public API for scheduling posts. Due to SSE transport issues behind nginx, use the REST API approach:
- Base URL:
https://postiz.crunchtools.com/api/public/v1 - Auth: API key from Postiz Settings UI in
Authorizationheader - Endpoints:
GET /integrations,POST /posts,POST /upload
If building from source on UBI fails, replace the build section in the Containerfile:
# Replace the git clone + pnpm install + pnpm build steps with:
FROM ghcr.io/gitroomhq/postiz-app:v2.19.0 AS postiz-source
# Then in the final stage:
COPY --from=postiz-source /app /app
RUN cd /app && npm rebuild