feat: optimize Docker build context with targeted .dockerignore files

- Add build-specific .dockerignore files to reduce context size
- packages/db: exclude all frontend assets (300MB+ savings)
- packages/api: exclude frontend public assets, keep backend needs
- packages/web: keep public assets, exclude only browser extensions
- Root: exclude browser extensions (400MB+ savings) as fallback

This reduces Docker build context from ~336MB to much smaller sizes
improving build times significantly.
This commit is contained in:
Rohit Amarnath 2025-09-23 14:34:26 -04:00
parent c933cc5194
commit a9454182f9
4 changed files with 28 additions and 0 deletions

View file

@ -8,3 +8,7 @@
.secrets*.yaml
apple
android
# Browser extension builds (large and not needed for server builds)
pkg/extension
pkg/extension-v3

View file

@ -6,3 +6,13 @@ Dockerfile
.dockerignore
*.yaml
.secrets*.yaml
# Exclude large frontend assets not needed for API
../../packages/web/public/pspdfkit-lib
../../packages/web/public/static
../../packages/web/public/pdfjs-dist
../../packages/web/public/*.mjs
../../pkg/extension
../../pkg/extension-v3
../../apple
../../android

View file

@ -2,3 +2,11 @@ node_modules
.env*
Dockerfile
.dockerignore
# Exclude large assets not needed for DB migrations
../../packages/web/public/pspdfkit-lib
../../packages/web/public/static
../../pkg/extension
../../pkg/extension-v3
../../apple
../../android

View file

@ -7,3 +7,9 @@ Dockerfile
*.yaml
.secrets*.yaml
# Web build needs its public assets, but exclude browser extensions
../../pkg/extension
../../pkg/extension-v3
../../apple
../../android