The portal's copy of the dashboard is the `appshell` target of backend/Dockerfile (18 MB instead of the 252 MB nginx image); the nginx frontend Dockerfile, its confs and csp.check.ts are gone, since the app and the hub both hash the CSP from the index.html they serve. The runtime image copies the 4 MB git binary alone: the store's init, add, commit, gc and rev-parse are builtins, and a build-time round trip fails the build if that ever changes. About 100 MB of perl and helpers less. The bundled Redis's overcommit warning and FastMCP's lifespan warning no longer greet every `docker logs`.
46 lines
1.0 KiB
Plaintext
46 lines
1.0 KiB
Plaintext
# Docker reads .dockerignore only from the root of the build context, and every
|
|
# service in docker/compose.yml builds with `context: ..` — this directory. The
|
|
# copies under frontend/ and backend/ were therefore never consulted, and the
|
|
# host's stale build outputs and node_modules were shipped into every build.
|
|
#
|
|
# Keep `package.json` and `bun.lock` at this root: backend/Dockerfile copies
|
|
# them before the workspace install.
|
|
|
|
# Build outputs — regenerated inside the image.
|
|
**/dist
|
|
**/dist-ssr
|
|
site
|
|
|
|
# Dependencies — installed inside the image, and the host copies are built for
|
|
# the host's platform.
|
|
**/node_modules
|
|
**/.venv
|
|
|
|
# Caches
|
|
**/__pycache__
|
|
**/*.pyc
|
|
**/.mypy_cache
|
|
**/.ruff_cache
|
|
**/.pytest_cache
|
|
**/.cache
|
|
**/.vite
|
|
**/.tanstack
|
|
**/fluksio.egg-info
|
|
**/.coverage
|
|
**/htmlcov
|
|
|
|
# Test artefacts
|
|
**/playwright-report
|
|
**/test-results
|
|
**/screenshots
|
|
|
|
# Secrets never belong in a build context. Values reach the build as ARGs and
|
|
# the runtime as compose `environment`.
|
|
**/.env
|
|
**/.env.*
|
|
!**/.env.example
|
|
|
|
.git
|
|
**/*.log
|
|
**/.DS_Store
|