27 lines
683 B
Docker
27 lines
683 B
Docker
FROM python:3.14-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install uv
|
|
RUN pip install --no-cache-dir uv
|
|
|
|
# Install dependencies (separate layer for cache efficiency)
|
|
COPY pyproject.toml README.md ./
|
|
COPY steward/ steward/
|
|
RUN uv pip install --system --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"]
|