Skip to content

fix(docker): avoid host PATH interpolation#1630

Open
dpersek wants to merge 4 commits into
getzep:mainfrom
dpersek:codex/fix-docker-compose-path
Open

fix(docker): avoid host PATH interpolation#1630
dpersek wants to merge 4 commits into
getzep:mainfrom
dpersek:codex/fix-docker-compose-path

Conversation

@dpersek

@dpersek dpersek commented Jul 4, 2026

Copy link
Copy Markdown

Summary

Docker Compose no longer injects the host process PATH into the MCP server containers. This prevents Windows host paths from replacing the Linux image PATH that startup commands rely on.

The Dockerfiles already bake /root/.local/bin into the image PATH, so the compose-level override was redundant and could break startup when ${PATH} expanded to something like C:\Windows\system32;C:\Windows.

Type of Change

  • Bug fix
  • New feature
  • Performance improvement
  • Documentation/Tests

Objective

Fix the Docker Compose startup failure reported in #1623 without changing Dockerfile install behavior, service commands, or runtime configuration.

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • All existing tests pass

Validation run:

  • PATH='C:\Windows\system32;C:\Windows' docker compose -f mcp_server/docker/docker-compose.yml config --quiet
  • PATH='C:\Windows\system32;C:\Windows' docker compose -f mcp_server/docker/docker-compose-falkordb.yml config --quiet
  • PATH='C:\Windows\system32;C:\Windows' docker compose -f mcp_server/docker/docker-compose-neo4j.yml config --quiet
  • git diff --check upstream/main

I also checked rendered config output for all three compose files with the same simulated Windows-style host PATH. After this change, the compose files no longer render a container PATH override.

Not run: full test suite / make lint. This change only removes compose-file PATH interpolation; no Python code changed. GitHub's ruff check is passing on the draft PR.

Breaking Changes

  • This PR contains breaking changes

Scope

Caveats

  • Validation covered Docker Compose rendering/configuration, not end-to-end container startup.
  • No unit tests were added because this is compose-file interpolation behavior rather than Python runtime behavior.

Checklist

  • Code follows project style guidelines (make lint passes)
  • Self-review completed
  • Documentation updated where necessary
  • No secrets or sensitive information committed

Related Issues

Fixes #1623

@zep-cla-assistant

zep-cla-assistant Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@dpersek

dpersek commented Jul 4, 2026

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA behalf on myself, e-mail: syntaxsawdust.cgoco@passmail.net

@dpersek
dpersek marked this pull request as ready for review July 4, 2026 16:03
zep-cla-assistant Bot added a commit that referenced this pull request Jul 6, 2026
@Naseem77

Copy link
Copy Markdown
Contributor

@dpersek Confirmed the leak: my host paths showed up inside the container via docker compose config. Your change fixes it and the image Dockerfile already sets PATH. LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docker-compose files interpolate host $PATH into container env, crashing startup on Windows

2 participants