From 4df929a58dd585c785dec69b2e151f81f3b4b9a6 Mon Sep 17 00:00:00 2001 From: QSchlegel Date: Mon, 27 Jul 2026 13:00:35 +0200 Subject: [PATCH] fix(build): drop the !vault/** glob that broke the Railpack build The preprod build of 629a652 failed: copy /vault/** /app/** Build Failed: cannot copy to non-directory: /var/lib/buildkit/.../app/** Railpack turns each .dockerignore negation into a literal copy instruction. `!vault` becomes `copy /vault /app/vault`, which is correct and recursive. `!vault/**` becomes `copy /vault/** /app/**`, and buildkit takes the `**` literally, so it tries to copy into a path that is not a directory. The glob was redundant belt-and-braces on top of `!vault`. Removing it leaves the working directive. Co-Authored-By: Claude Fable 5 --- .dockerignore | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index 17e5e297..3c505b35 100644 --- a/.dockerignore +++ b/.dockerignore @@ -43,9 +43,11 @@ Thumbs.db *.md !README.md # The feature vault is data, not documentation: /roadmap/graph reads these notes -# at runtime, so they have to survive the *.md filter above. +# at runtime, so they have to survive the *.md filter above. Keep this as the +# bare directory — Railpack turns each negation into a literal copy instruction, +# and a `!vault/**` glob becomes `copy /vault/** /app/**`, which buildkit rejects +# with "cannot copy to non-directory". `!vault` alone copies the tree recursively. !vault -!vault/** docs # Docker