summaryrefslogtreecommitdiff
path: root/.dockerignore
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-17 14:32:37 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-17 14:32:37 +0800
commit5c0ba37eda80d39e6ceca59bb1d5f4942f858995 (patch)
tree948723f9cedf7ccb0707fa6ee516bd30fe20fd10 /.dockerignore
downloadstrategy-lab-5c0ba37eda80d39e6ceca59bb1d5f4942f858995.tar.gz
chore: establish Strategy Lab source baseline (development, not release)
Diffstat (limited to '.dockerignore')
-rw-r--r--.dockerignore27
1 files changed, 27 insertions, 0 deletions
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..ca3cd38
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,27 @@
+# Docker context guard for the worker image build
+# (`docker build -f worker/Dockerfile -t strategy-lab-worker:local .` from the
+# project root). The Dockerfile only COPYs requirements-worker.txt and worker/,
+# so everything else stays out of the build context. Rationale: a full-context
+# build previously pushed ~2.5 GB into the builder, including private QA
+# evidence artifacts/, server sources, docs and caches that must never enter
+# an image layer derived context.
+#
+# Whitelist semantics (moby patternmatcher, last matching pattern wins):
+# `**/*` excludes every path (including dot entries; `**` also matches zero
+# directories), and the negations re-include exactly what worker/Dockerfile
+# COPYs: requirements-worker.txt and the worker/ tree.
+
+**/*
+!requirements-worker.txt
+!worker
+!worker/**
+
+# never ship caches inside the worker tree even if created locally
+worker/__pycache__
+worker/**/__pycache__
+worker/*.pyc
+worker/**/*.pyc
+worker/.pytest_cache
+worker/**/.pytest_cache
+worker/.venv
+worker/**/.venv