# Build context exclusions. # # The build context is sent to the daemon in full before the first COPY, so # anything left in here is uploaded and then ignored. On a working tree with a # populated node_modules and a local database that is hundreds of megabytes of # pointless transfer, and it is also how a local .env or an unencrypted database # file ends up inside an image layer. # Dependencies and build output. The image builds these itself from the # lockfiles, so shipping the host's copies would risk building against a # different dependency set than the one that was tested. node_modules **/node_modules web/dist sdk/dist dist bin .cache # Local data. A SQLite database in a layer is both a size problem and a data leak, # and the image creates its own at /srv/data. data *.db *.db-shm *.db-wal *.sqlite *.sqlite3 # Secrets and local configuration. .env .env.* !.env.example *.pem *.key *.crt secrets/ # Version control and CI. The build stamps the version from build arguments, so it # never reads git metadata. .git .gitignore .github .gitattributes # Documentation. Not needed to build or run the image. docs *.md !README.md # Deployment and development scaffolding. deploy hack .github .editorconfig .prettierignore .env.example compose.yaml docker-bake.hcl docker-compose*.yml Dockerfile* goreleaser.yaml .openapi-generatorignore # Editor and OS noise. .vscode .idea *.swp *.swo .DS_Store Thumbs.db # Logs and temporary files. *.log npm-debug.log* tmp .cache