# Root-level .dockerignore. Applies to every image build — both # engine/Dockerfile (engine only) and engine/Dockerfile.webui (full-stack # web UI). Both use the repo root as their context, because the cargo # workspaces patch `unrar` to the vendored copy at third_party/unrar and a # narrower context would put that path outside it. # # (engine/.dockerignore is now dead for CI builds; it only applies if # someone runs `docker build engine/` by hand.) # # Keeping the context small speeds up the `COPY client/ .` and `COPY # engine/ .` steps (the build context is sent to the Docker daemon in # full on every build) and avoids leaking local artifacts, caches, and # development-only files into the image layer cache. # Build outputs (rebuilt inside the image) engine/target/ client/dist/ client/src-tauri/target/ client/src-tauri/gen/ # NOT excluded: payload/*.elf. The engine embeds these at build time # (engine/crates/ps5upload-engine/build.rs); excluding them here silently # produced images that could install base games but not updates (#295). payload/ps5upload.elf.gz # Node (installed fresh in the frontend stage) client/node_modules/ # Version control + CI (not needed in the image) .git/ .github/ # Docs, tests, scripts (not needed at runtime) docs/ *.md # …except the two the web UI bundles (its FAQ and Changelog screens). !FAQ.md !CHANGELOG.md LICENSE* # ...but keep the vendored crate whole: its licences must travel with the # source we build from, and excluding them here would quietly drop the # attribution that MIT/Apache-2.0 requires. !third_party/** tests/ coverage/ client/coverage/ # IDE + OS files .vscode/ .idea/ .DS_Store # Dev screenshots dropped at the repo root. They are gitignored, but a # local stray still lands in the build context and ships bytes nobody # asked for. Anchored, so real assets under client/ are untouched. /*.png /*.jpg /*.jpeg /*.gif /*.webp /*.mp4 /*.mov !/logo.png *.swp *.swo # Docker files themselves Dockerfile* .dockerignore # Local env / config that should never leak into an image .env .env.* *.pem *.key