From 5c0ba37eda80d39e6ceca59bb1d5f4942f858995 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Thu, 17 Sep 2026 14:32:37 +0800 Subject: chore: establish Strategy Lab source baseline (development, not release) --- worker/Dockerfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 worker/Dockerfile (limited to 'worker/Dockerfile') diff --git a/worker/Dockerfile b/worker/Dockerfile new file mode 100644 index 0000000..f23bf61 --- /dev/null +++ b/worker/Dockerfile @@ -0,0 +1,20 @@ +# Strategy Lab Python worker image +# - fetch: network-enabled; backtest: --network none +# - non-root uid 10001, read-only rootfs at runtime, /output writable only +FROM python:3.11-slim + +ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1 + +WORKDIR /app + +RUN adduser --uid 10001 --disabled-password --gecos "" worker + +COPY requirements-worker.txt /tmp/requirements-worker.txt +RUN pip install --no-cache-dir -r /tmp/requirements-worker.txt + +COPY worker /app/worker + +USER worker + +# /input request, /data dataset objects (read-only mounts); /output writable result dir +CMD ["python", "-m", "worker.main"] -- cgit v1.2.3