Skip to content

Secrets Not Properly Injecting When Using Docker Compose and No .env From Git. #365

Description

@jtnishi

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

  1. Create a git repository with the intended docker compose file. DO NOT SET UP A COMMITTED .env
  2. Set up dockhand with the repository and credentials (in my case, using fine-grained PAT)
  3. Set up a deploy via git. Manually add environment variables, including secrets using the secrets flag
  4. Deploy the stack via git.
  5. 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"
            ],
        ...
    }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingready to gofixed, goes to the next release

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions