# Exclude everything not needed in the all-in-one image. The build context is # the repo root; the Dockerfile COPYs nodejs/* (app) + ops/nginx_conf/* (OpenResty # config). Keep those, drop the rest. # Node deps are rebuilt in the image from the lockfile (clean tree). nodejs/node_modules/ nodejs/test/ nodejs/npm-debug.log* # Bare-metal installer + chef ops not needed in the image. ops/install.sh ops/cert.sh ops/cookbooks/ ops/roles/ ops/proxy.service .github/ # Git + editor + secrets. # NOTE: .git/ is intentionally NOT excluded — the gitinfo build stage in the # Dockerfile reads it to bake the commit hash into the image (see # nodejs/utils/build_info.js), then it's discarded before the final stage. # It never ends up in the final image. .gitignore # docs/ and the doc files below ARE needed in the image now — served in-app # at /docs (routes/docs.js) so they're readable without internet access. *.md !README.md !DEPLOYMENT.md !nodejs/api.md !docs/**/*.md secrets.js secrets.json *.env .env .DS_Store *.swp