The README documents the Docker workflow as:
WORKSPACE_DIR=$HOME/code docker compose up -d
docker compose exec gitnexus-server gitnexus index /workspace/my-repo
…but `gitnexus` is not on $PATH inside the published image:
$ docker compose exec gitnexus-server which gitnexus
(empty)
$ docker compose exec gitnexus-server gitnexus --version
exec: "gitnexus": executable file not found in $PATH
The package.json `bin` entry (`"gitnexus": "dist/cli/index.js"`) would
normally surface via `node_modules/.bin/gitnexus`, but `npm prune
--omit=dev` in the builder stage strips that directory before the runtime
stage copies it in. The `dist/cli/index.js` itself already has the
`#!/usr/bin/env node` shebang and 755 permissions, so a single symlink
into /usr/local/bin makes the README's literal command work.
Verified locally:
$ docker build -f Dockerfile.cli -t gitnexus:local-pr-test .
$ docker run --rm gitnexus:local-pr-test gitnexus --version
1.6.4
$ docker run --rm gitnexus:local-pr-test gitnexus --help
Usage: gitnexus [options] [command]
…
$ docker run --rm -d --name t gitnexus:local-pr-test \
&& sleep 4 && docker exec t curl -s localhost:4747/api/health
{"status":"ok"}
CMD continues to invoke `node gitnexus/dist/cli/index.js serve …`
unchanged, so the change is additive and the server boot path is
untouched.
Refs #1549.
* fix: pin Docker node base images and remediate bundled npm CVEs
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/e0605c79-296e-4b3a-b6c3-4ad375950935
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* fix: run trivy on docker PR changes and remove corepack
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/4d714047-4fc1-4af1-9734-91400a15568f
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* chore: add docker digest updates and normalize dockerfile comments
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/7d980908-a823-4c28-b074-9134ec672e84
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* fix: add dependabot cooldown policies
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a8531b8d-384b-4c54-84dd-a98b31993c44
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* fix: remove unsupported dependabot cooldown keys
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/166df50e-c2fe-4d7f-ab41-e94c703338f6
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* chore(node): bump CI + engines to Node 22; centralize NPM_VERSION via build ARG
Closes the LOW findings from Claude Final Re-Review on PR #1455:
- Bump engines.node to >=22.0.0 and align all CI workflows (ci-quality,
pr-autofix, publish, release-candidate) and the composite setup
actions on Node 22. Node 20 reached EOL on 2026-04-30; the test
Docker image was already on 22.
- Centralize the bootstrapped npm version in a single ARG NPM_VERSION
per Dockerfile (cli, web, gitnexus/Dockerfile.test) so a security
bump only requires updating one default per file with a clear
cross-reference comment.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
Co-authored-by: Gergo Magyar <gergomagyar@icloud.com>
* fix(docker): switch Dockerfile.cli from Alpine to Debian slim
Alpine uses musl libc which is incompatible with @ladybugdb/core's
glibc-compiled native binary, causing ERR_DLOPEN_FAILED on startup.
Closes#1008
* fix(docker): resolve build and runtime failures in Dockerfile.cli
- Add **/*.tsbuildinfo to .dockerignore and rm -f tsbuildinfo in
builder to prevent stale incremental cache from skipping
gitnexus-shared compilation
- Install libstdc++6 from Debian Trixie for @ladybugdb/core native
module compatibility (requires GLIBCXX_3.4.31)
* fix(docker): use node:22-trixie-slim for GLIBCXX_3.4.31 support
Replaces the manual Trixie libstdc++6 backport with the official
node:22-trixie-slim base image, which ships GCC 14 runtime natively.