TryGhost
OSS
Ghost
Improved production image pull time by deduplicating chown layers no ref - on overlayfs a `chown -R` copies every touched file into a new layer, so the core stage's `chown -R nobody:nogroup /home/ghost/*` duplicated node_modules (~600MB) and the full stage's `chown -R core/built/admin` duplicated the admin build (~80MB) — inflating every pull of the ghost / ghost-e2e images, which the 12 E2E shards showed spending most of their setup time loading - set ownership at COPY time (COPY --chown) instead, and move the production node_modules into a discarded `deps` stage copied in once via COPY --chown --from, so app code is stored once with its final ownership - ownership model is unchanged (verified byte-for-byte: app code nobody:nogroup, content/log ghost, home ghost; runtime user still cannot modify app code, and better-sqlite3's native binary still loads after the multi-stage copy) - build-essential/python3 now live only in the deps stage, so the shipped node_modules layer no longer carries apt install/purge churn either
nx run ghost:build:assets
Sign in / Sign up
Open main menu
Succeeded
CI Pipeline Execution
nx run ghost:build:assets
Click to copy
Linux
4 CPU cores
read-write
access token used
67b15af2
29017