fix(postiz): add missing Temporal service required by Postiz v2+#784
fix(postiz): add missing Temporal service required by Postiz v2+#784chahat1709 wants to merge 2 commits intoDokploy:canaryfrom
Conversation
…ervice required by Postiz v2+ker-compose Added postiz-temporal service with health checks and dependencies.Fixes Dokploy#772 - Postiz v2+ requires Temporal for background jobs. Without it the app fails to boot with ECONNRESET errors.
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
| postiz-uploads: | ||
| postiz-uploads: |
There was a problem hiding this comment.
Duplicate volume entry causes deployment failure
postiz-uploads is declared twice in the volumes block. YAML does not permit duplicate mapping keys, and docker compose up will either error out or silently drop one entry depending on the parser version — either way this is a bug introduced by this PR.
| postiz-uploads: | |
| postiz-uploads: | |
| postiz-uploads: |
| condition: service_healthy | ||
|
|
||
| postiz-temporal: | ||
| image: temporalio/auto-setup:latest |
There was a problem hiding this comment.
temporalio/auto-setup is a deprecated image
Docker Hub explicitly marks this image as deprecated: "This image is no longer maintained and will not receive updates." Temporal recommends using temporalio/server + temporalio/admin-tools instead (see samples-server compose examples). Using a deprecated image means no security patches and no compatibility fixes for future PostgreSQL or Temporal versions.
| condition: service_healthy | ||
|
|
||
| postiz-temporal: | ||
| image: temporalio/auto-setup:latest |
There was a problem hiding this comment.
temporalio/auto-setup:latest uses an unpinned tag. Per the project's AGENTS.md guide, Docker images must be pinned to specific versions to avoid supply chain risks and unexpected breakage. Pin to the last known stable release, e.g. temporalio/auto-setup:1.27.2.
Context Used: AGENTS.md (source)
There was a problem hiding this comment.
Pull request overview
Updates the Dokploy Postiz blueprint to include the missing Temporal service required for Postiz v2+, wiring the app container to it and gating startup on service health.
Changes:
- Added a new
postiz-temporalservice (Temporal auto-setup) with PostgreSQL configuration and a healthcheck. - Added
TEMPORAL_URL/TEMPORAL_WORKER_URLtopostiz-app. - Updated
postiz-app.depends_onto wait forpostiz-temporalto be healthy.
| postiz-config: | ||
| postiz-uploads: No newline at end of file | ||
| postiz-uploads: | ||
| postiz-uploads: |
There was a problem hiding this comment.
The volumes: map defines postiz-uploads twice (and the second entry has trailing spaces). Duplicate keys can cause YAML/Compose parsing issues or unexpected overrides; keep a single postiz-uploads: entry and remove the trailing whitespace.
| postiz-uploads: |
| condition: service_healthy | ||
|
|
||
| postiz-temporal: | ||
| image: temporalio/auto-setup:latest |
There was a problem hiding this comment.
postiz-temporal uses temporalio/auto-setup:latest. Using floating latest tags makes the template non-reproducible and can break deployments when upstream images change. Pin this to a specific Temporal version (ideally with a digest), similar to how blueprints/peerdb/docker-compose.yml pins temporalio/auto-setup.
| image: temporalio/auto-setup:latest | |
| image: temporalio/auto-setup:1.25.2 |
| - POSTGRES_USER=${DB_USER} | ||
| - POSTGRES_PWD=${DB_PASSWORD} | ||
| - POSTGRES_SEEDS=postiz-postgres | ||
| - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development-sql.yaml |
There was a problem hiding this comment.
DYNAMIC_CONFIG_FILE_PATH is set to config/dynamicconfig/development-sql.yaml. For a deployment template, this should typically use Temporal’s production SQL dynamic config (e.g., production-sql.yaml) to avoid development-tuned defaults; blueprints/peerdb/docker-compose.yml uses production-sql.yaml for the same image.
| - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development-sql.yaml | |
| - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/production-sql.yaml |
…ce fix with pinned versiondocker-compose
What is this PR about?
Fixes #772
The Postiz template was missing the
temporalio/auto-setupservice which is required for Postiz v2+. Without Temporal, the app fails to boot and throwsECONNRESETerrors.Changes
postiz-temporalservice usingtemporalio/auto-setup:latestTEMPORAL_URLandTEMPORAL_WORKER_URLenv vars to the app servicedepends_oninpostiz-appto wait for Temporal to be healthyChecklist
Greptile Summary
This PR adds the missing
postiz-temporalservice (usingtemporalio/auto-setup) and the requiredTEMPORAL_URL/TEMPORAL_WORKER_URLenvironment variables to fix Postiz v2+ boot failures. The approach is correct in intent, but has two issues that need resolving before merge.postiz-uploadsvolume is declared twice in thevolumesblock (lines 82–83), which is invalid and will causedocker compose upto fail.temporalio/auto-setupis officially deprecated by Temporal (no further updates or security patches); the recommended replacement istemporalio/server+temporalio/admin-tools.Confidence Score: 3/5
Not safe to merge — duplicate volume key breaks deployment and the Temporal image is officially deprecated.
Two P1 findings: a duplicate volume declaration that prevents docker compose up from succeeding, and reliance on a deprecated image that will never receive security or compatibility updates. Both should be addressed before merging.
blueprints/postiz/docker-compose.yml — duplicate volume and deprecated image
Reviews (1): Last reviewed commit: "Add postiz-temporal service to docfix(po..." | Re-trigger Greptile
(2/5) Greptile learns from your feedback when you react with thumbs up/down!
Context used: