From 36925c589b2d964dce4af96056fc01e41015b34e Mon Sep 17 00:00:00 2001 From: Chaim Date: Thu, 16 Apr 2026 19:09:52 +0000 Subject: [PATCH] Ship decision_template.docx into the Docker image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The analysis DOCX exporter loads skills/docx/decision_template.docx at runtime, but .dockerignore was excluding the entire skills/ tree and Dockerfile didn't COPY it — so the deployed container returned 'Template not found at /app/skills/docx/decision_template.docx' on every /export-docx request. .dockerignore Re-include the one file we need at runtime. Dockerfile COPY that single file into /app/skills/docx/. Documentation and SKILL.md stay outside the image. Co-Authored-By: Claude Opus 4.7 (1M context) --- .dockerignore | 2 ++ Dockerfile | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/.dockerignore b/.dockerignore index 0115594..2020edc 100644 --- a/.dockerignore +++ b/.dockerignore @@ -9,6 +9,8 @@ web/static/ web/__pycache__/ scripts/ skills/ +!skills/docx/ +!skills/docx/decision_template.docx docs/ legacy/ node_modules/ diff --git a/Dockerfile b/Dockerfile index 861edf8..d34af39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -57,6 +57,10 @@ COPY --from=builder /app/.next/static ./.next/static COPY web/ ./web/ COPY mcp-server/src/ ./mcp-server/src/ +# DOCX template used by analysis_docx_exporter — loaded at runtime by path +# (Path(__file__).resolve().parents[4] / "skills/docx/decision_template.docx") +COPY skills/docx/decision_template.docx ./skills/docx/decision_template.docx + # Make mcp-server source available to web/app.py (it does sys.path.insert for legal_mcp) ENV PYTHONPATH=/app/mcp-server/src