steward_mirror/Dockerfile

24 lines
623 B
Docker

FROM python:3.12-slim
WORKDIR /app
# Install dependencies (separate layer for cache efficiency)
COPY pyproject.toml README.md ./
COPY steward/ steward/
RUN pip install --no-cache-dir .
# Create a non-root user (UID/GID 1000) and persistent data directory
RUN addgroup --gid 1000 steward \
&& adduser --uid 1000 --gid 1000 --no-create-home --disabled-password --gecos "" steward \
&& mkdir /data \
&& chown steward:steward /data
USER steward
# Default path for the thread memory store — override via env or docker-compose
ENV THREAD_MEMORY_PATH=/data/thread_memory.json
VOLUME ["/data"]
CMD ["steward"]