FastAPI app, upstream Confluence/model adapters, authoritative history, rootless container lifecycle, artifact storage and downloads, fake peers under backend/dev, tests under tests/backend. Root pytest.ini deselects the live marker by default; requirements gain the backend dependencies.
19 lines
531 B
Docker
19 lines
531 B
Docker
FROM python:3.12-alpine
|
|
|
|
# Set up runtime user 10001:10001
|
|
RUN addgroup -g 10001 agent && \
|
|
adduser -u 10001 -G agent -h /home/agent -D agent
|
|
|
|
WORKDIR /work
|
|
COPY backend/dev/fake_entrypoint.py /opt/agent/entrypoint.py
|
|
COPY backend/dev/fake_peer.py /opt/agent/backend/dev/fake_peer.py
|
|
RUN touch /opt/agent/backend/__init__.py /opt/agent/backend/dev/__init__.py && \
|
|
chmod -R 755 /opt/agent
|
|
|
|
ENV PYTHONPATH=/opt/agent
|
|
ENV HOME=/home/agent
|
|
ENV LANG=C.UTF-8
|
|
|
|
USER 10001:10001
|
|
ENTRYPOINT ["python3", "/opt/agent/entrypoint.py"]
|