wiki_ghostguild/.dockerignore
Jennie Robinson Faber 83c987bb71 Bake cron scripts into the image instead of bind-mounting them
DokPloy's redeploy process rm -rf's the host code dir and recreates it.
The cron container is `restart: unless-stopped` so docker-compose
doesn't recreate it when only scripts/* change — but its bind mount on
./scripts:/app/scripts then points at orphaned inodes inside the
running container, leaving /app/scripts empty until someone manually
`docker restart`s it.

Bake the scripts into the image instead. A scripts/* change now forces
a Dockerfile rebuild → docker-compose recreates the cron service →
fresh /app/scripts inside, no manual restart required. content/ and
.git/ stay bind-mounted because the export job needs to write commits
the host can see.

Also adds .dockerignore so the host's scripts/node_modules (potentially
darwin-specific) doesn't get COPY'd into the alpine image and shadow
the deps installed by `npm install` at build time.
2026-04-08 12:06:04 +01:00

16 lines
435 B
Text

# Don't ship the host's node_modules into images — they may contain
# darwin-specific binaries and would shadow the deps installed by `npm
# install` inside the container.
**/node_modules
# Backups, exported content, git history — none of these belong in any
# of our images. The cron service mounts what it actually needs.
backups/
content/
.git/
# Editor / tool noise
.cursorignore
.cursorindexingignore
.DS_Store
**/.DS_Store