Skip to content

Wire env vars documented in .env.example through to compose containers - #284

Merged
haksungjang merged 1 commit into
mainfrom
worktree-c8-compose-env-passthrough
Sep 2, 2026
Merged

Wire env vars documented in .env.example through to compose containers#284
haksungjang merged 1 commit into
mainfrom
worktree-c8-compose-env-passthrough

Conversation

@haksungjang

Copy link
Copy Markdown
Contributor

Summary

  • LICENSE_FETCH_ENABLED, SEARCH_RATE_LIMIT, INTAKE_REQUESTS_ENABLED, EXTERNAL_PACKAGE_LOOKUP_ENABLED, EXTERNAL_PACKAGE_LOOKUP_RATE_LIMIT, and EXTERNAL_ADVISORY_LOOKUP_RATE_LIMIT were all declared in .env.example but never listed in either compose file's x-backend-env anchor, so setting any of them in .env had no effect on the running container -- compose only passes through a var explicitly named in the anchor.
  • Most notably, this means an air-gapped deployment following the package-lookup docs to set EXTERNAL_PACKAGE_LOOKUP_ENABLED=false would not actually have disabled the outbound deps.dev calls.
  • Found while reviewing the C8 (external package lookup) feature end to end. docker-compose.dev.yml already had INTAKE_REQUESTS_ENABLED wired (added for that feature's own e2e test); this folds it into the same consolidated block and adds it to docker-compose.yml (production), which was missing it entirely.
  • All defaults match core/config.py and .env.example exactly, so an unset .env value changes nothing for an existing deployment -- purely additive.

Test plan

  • docker-compose -f docker-compose.dev.yml config -q validates
  • python3 -c "import yaml; yaml.safe_load(open('docker-compose.yml'))" validates (production compose file)
  • node tools/em-dash/lint.mjs --base origin/main clean

LICENSE_FETCH_ENABLED, SEARCH_RATE_LIMIT, INTAKE_REQUESTS_ENABLED,
EXTERNAL_PACKAGE_LOOKUP_ENABLED, and its two rate limits were all
declared in .env.example but never listed in either compose file's
x-backend-env anchor, so setting them in .env had no effect on the
running container. Most notably, an air-gapped deployment following
the docs to turn off EXTERNAL_PACKAGE_LOOKUP_ENABLED would not
actually have turned it off. Defaults match core/config.py and
.env.example exactly, so an unset .env changes nothing for an
existing deployment.
@haksungjang
haksungjang merged commit 740769a into main Sep 2, 2026
24 checks passed
@haksungjang
haksungjang deleted the worktree-c8-compose-env-passthrough branch September 2, 2026 22:17
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.

1 participant