The repository includes a multi-stage Dockerfile that produces a minimal Alpine-based image. Pre-built images are published to GitHub Container Registry on every push to theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/temporal-sa/temporal-cloud-proxy/llms.txt
Use this file to discover all available pages before exploring further.
main branch and on every tagged release, making it easy to pull a known-good image without building locally.
Image Registry
Images are published toghcr.io/temporal-sa/temporal-cloud-proxy. The CI pipeline produces the following tags:
| Tag | When published |
|---|---|
latest | Every tagged release (e.g. v1.0.0) |
<version> | Tagged releases with the v prefix stripped (e.g. 1.0.0) |
<git-sha> | Every commit merged to the main branch |
Quick Start
Prepare your config file and certificates
Create a
config.yaml on the host (see Configuration Overview for the full schema). If you are using mTLS authentication, also place your certificate and key files in a local certs/ directory so they can be bind-mounted into the container.The container’s internal gRPC port is
9000 (as declared by EXPOSE 9000 in the Dockerfile). Map it to whichever port your workers expect — typically 7233 for Temporal workloads.Dockerfile Details
The image is built in two stages:| Stage | Base image | Purpose |
|---|---|---|
builder | golang:1.24.1-alpine | Compiles the tclp binary with CGO_ENABLED=0 |
| Runtime | alpine:3.19 | Runs the compiled binary in a minimal image |
- Non-root user: the process runs as
appuser(uid1001) in groupappgroup(gid1001) - Config path: the default entrypoint reads config from
/app/config/config.yaml - Certs directory:
/app/certsis created at image build time for certificate bind-mounts - Health check:
nc -z localhost 9000runs every 30 seconds (10s timeout, 5s start period, 3 retries) - Default entrypoint:
./tclp --config /app/config/config.yaml
Build Locally
If you want to build the image from source rather than pulling from the registry:temporal-cloud-proxy:local for the ghcr.io reference: