
Deploy Postiz (Temporal)
All-in-one platform for social media management with Temporal orchestration
Redis
Just deployed
/data
Temporal UI
Just deployed
Temporal Auto Setup
Just deployed
Temporal Admin Tools
Just deployed
Just deployed
/uploads
Just deployed
/var/lib/postgresql/data
Elasticsearch
Just deployed
/esdata
Deploy and Host Postiz with Temporal on Railway
About Hosting Postiz (Temporal)
Hosting Postiz with Temporal involves deploying seven interconnected services: the Postiz application itself (a Next.js frontend with a NestJS backend), PostgreSQL for persistent storage, Redis for caching and sessions, Elasticsearch for Temporal's visibility layer, the Temporal workflow engine, a Temporal web UI for monitoring workflows, and Temporal Admin Tools for debugging. All services communicate over private networking, with Postgres shared between Postiz and Temporal. The Postiz container serves both the frontend (port 4200) and backend API (port 3000) behind an nginx reverse proxy on port 5000.
Common Use Cases
- Schedule and auto-publish content across multiple social media platforms (Instagram, TikTok, LinkedIn, X, YouTube, and more) with guaranteed delivery through Temporal's durable execution
- Manage social media for multiple brands or clients with team collaboration, approval workflows, and centralized analytics
- Automate engagement workflows such as auto-liking, auto-commenting at engagement milestones, and first-comment scheduling
Dependencies for Postiz (Temporal) Hosting
- PostgreSQL 17 (shared by Postiz and Temporal for application data, workflow state, and visibility)
- Redis 8 (caching, session management, and background job queues)
- Elasticsearch (Temporal visibility store for searching and filtering workflow executions)
- Temporal Server 1.29.3 (durable workflow orchestration engine via auto-setup image)
Deployment Dependencies
Implementation Details
The template pre-configures all service connections through Railway's reference variables — DATABASE_URL, REDIS_URL, and TEMPORAL_ADDRESS are wired automatically between services. Secrets like JWT_SECRET, POSTGRES_PASSWORD, REDIS_PASSWORD, and ELASTIC_PASSWORD are generated at deploy time. After deploying, set three variables on the Postiz service to your custom domain:
MAIN_URL— your custom domain (e.g.,https://postiz.example.com)FRONTEND_URL— same asMAIN_URLNEXT_PUBLIC_BACKEND_URL— same asMAIN_URL, appended with/api
The template includes an ON_FAILURE restart policy (max 10 retries) on the Postiz service. This handles the startup race condition where Postiz may boot before Temporal is ready — Railway automatically restarts the container until Temporal accepts connections.
Why Deploy Postiz (Temporal) on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Postiz (Temporal) on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Notes 🔔
If you run into issues registering or logging in after the first deploy, redeploy the Postiz service. This happens when Postiz starts before Temporal is ready — a one-time race condition that a simple redeploy resolves.
Template Content
Redis
redis:8.2.1Temporal UI
temporalio/ui:2.45.3Temporal Auto Setup
temporalio/auto-setup:1.29.3Temporal Admin Tools
temporalio/admin-tools:1.29Elasticsearch
protemplate/elasticsearch-railway