What the stack contains
docker compose up -d starts eight containers. You do not install PostgreSQL, Redis or
Temporal separately, they come with it.
Only
postqueen is published to your whole machine. Temporal’s two ports are bound to
127.0.0.1, so they are reachable from the server itself and not from the network.
Clone the repository rather than copying the YAML out of this page. The repository also carries
a
dynamicconfig folder that Temporal mounts at startup, and the file changes between releases.Where configuration lives
Everything is configured with environment variables, and they ship inline indocker-compose.yaml. Open the file, find the environment: block on the postqueen
service, and edit values in place:
KEY: 'value' with a
colon, not KEY=value.
Using a file instead
If you would rather keep secrets out of the YAML, add anenv_file: key yourself. Compose then
does pass that file’s contents to the container:
docker-compose.yaml it is KEY: 'value'. Inside an env
file it is KEY=value with no quotes needed.
Using both
You can, and the precedence matters:environment: wins over env_file:. If the same variable appears in both, the value in
the YAML is the one the container gets. Since the shipped file already pins many variables to
literal values, including empty ones, a variable you set only in your env file will be ignored
if the YAML also mentions it. Either delete the line from the YAML or set your value there.What does not work
Applying a change
The settings you are most likely to change
The full list of around 135 variables is in Configuration Reference. These are the ones that matter for almost every install.
Two that people change and should not:
BACKEND_INTERNAL_URL stays http://localhost:3000,
because it describes a hop inside the container rather than a public address. DATABASE_URL
and REDIS_URL already point at the bundled containers by service name and only need editing
if you bring your own database.
Checking your configuration took effect
She inspects her own settings at the end of startup and reports anything questionable, then carries on running anyway. A container that is up is not proof that the configuration is sound, so it is worth looking:Pinning a version
The file ships withimage: ghcr.io/gkhankinay/postqueen-app:latest. On a real install, change
latest to a specific version from the
releases page: