Postiz upstream ships a single image bundling backend+frontend+orchestrator
behind an in-container nginx multiplexer on :5000. We don't run nginx —
ever — in our k8s stack. Replace with three single-process images:
- ghcr.io/hanzoai/social-backend — NestJS, listens on :3000
- ghcr.io/hanzoai/social-frontend — Next.js SSR, listens on :4200
- ghcr.io/hanzoai/social-orchestrator — Temporal worker, no HTTP
Dockerfile is multi-target (target=backend|frontend|orchestrator). One
shared build stage runs pnpm install + pnpm run build, then three runtime
stages COPY the built workspace and pick the right pnpm --filter at CMD.
docker-publish.yml fans out a matrix across the three targets — same
shared workflow, three published images.
Deleted: Dockerfile.dev (nginx-bundled), var/docker/nginx.conf.