Description
Potential regression arising from #296? Deploying a stack from git using docker compose, with no .env file committed in the repo, and manually loading in environment variables, including secrets, causes secrets to not be correctly injected into the container, and are injected as "***" literally instead.
Steps to Reproduce
- Create a git repository with the intended docker compose file. DO NOT SET UP A COMMITTED .env
- Set up dockhand with the repository and credentials (in my case, using fine-grained PAT)
- Set up a deploy via git. Manually add environment variables, including secrets using the secrets flag
- Deploy the stack via git.
- Inspect the docker container from the side on the docker host using
docker inspect (container_name)
Expected Behavior
Secrets should be injected into the container. While in the UI, they should be visible as only masked values, in the docker inspect, they should be visible due to being part of the environment.
Actual Behavior
The exposed environment variable with secrets is literally set to "***", the mask value.
Environment
- OS: Debian 13
- Version: v1.0.13 (digest sha256:ca7ef9fac79d7e978180d04984ca272f58127f27357e6c0f9263ae98089c2429)
Additional Information
Partial output of a docker inspect of an attempted started What's Up Docker container below. Certain elements redacted as {{REDACTED}} for protection. Of key note here is WUD_TRIGGER_DISCORD_DISCORDTRIGGER1_URL, WUD_AUTH_BASIC_MAIN_HASH, and WUD_REGISTRY_HUB_PUBLIC_PASSWORD, all of which are literally "***" in the docker inspect output for Env.
[
{
"Id": "27bb6db78dbd16d697819671834fb3b633f398f63c00a15df40de9bf5a1c4da0",
"Created": "2026-01-28T12:13:33.488093773Z",
"Path": "/usr/bin/entrypoint.sh",
...
"Config": {
"Hostname": "{{REDACTED}}",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"3000/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"WUD_TRIGGER_DISCORD_DISCORDTRIGGER1_URL=***",
"WUD_TRIGGER_DISCORD_DISCORDTRIGGER1_BOTUSERNAME=What's Up Docker (Internal Test 3)",
"WUD_WATCHER_LOCAL_CRON=32 3 * * *",
"WUD_AUTH_BASIC_MAIN_USER={{REDACTED}}",
"WUD_AUTH_BASIC_MAIN_HASH=***",
"WUD_REGISTRY_HUB_PUBLIC_LOGIN={{REDACTED}}",
"WUD_REGISTRY_HUB_PUBLIC_PASSWORD=***",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NODE_VERSION=23.11.1",
"YARN_VERSION=1.22.22",
"WORKDIR=/home/node/app",
"WUD_LOG_FORMAT=text",
"WUD_VERSION=8.1.1"
],
...
}
]
Description
Potential regression arising from #296? Deploying a stack from git using docker compose, with no .env file committed in the repo, and manually loading in environment variables, including secrets, causes secrets to not be correctly injected into the container, and are injected as "***" literally instead.
Steps to Reproduce
docker inspect (container_name)Expected Behavior
Secrets should be injected into the container. While in the UI, they should be visible as only masked values, in the
docker inspect, they should be visible due to being part of the environment.Actual Behavior
The exposed environment variable with secrets is literally set to "***", the mask value.
Environment
Additional Information
Partial output of a
docker inspectof an attempted started What's Up Docker container below. Certain elements redacted as{{REDACTED}}for protection. Of key note here isWUD_TRIGGER_DISCORD_DISCORDTRIGGER1_URL,WUD_AUTH_BASIC_MAIN_HASH, andWUD_REGISTRY_HUB_PUBLIC_PASSWORD, all of which are literally"***"in thedocker inspectoutput for Env.