Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
1023 B
Docker
27 lines
1023 B
Docker
# StartOS service image: the Boardroom Map orchestrator (control plane).
|
|
# Build context is the PROJECT ROOT (manifest images.main.workdir = '.'), so
|
|
# COPY paths are repo-relative. Arch-agnostic and GPU-free — it SSHes to the
|
|
# Sparks and extracts document text on CPU. start-cli builds this for x86_64 +
|
|
# aarch64.
|
|
FROM python:3.11-slim
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
openssh-client rsync tini ca-certificates && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
COPY orchestrator/requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY orchestrator/ ./
|
|
# Ship the reviewer build context so the orchestrator can build the reviewer
|
|
# image on the head Spark over SSH (see reviewers.ensure_reviewer_image). Lives
|
|
# at /app/sandbox.
|
|
COPY sandbox/ ./sandbox/
|
|
|
|
EXPOSE 8080
|
|
ENV BM_DATA_DIR=/data
|
|
# main.ts overrides this command, but keep a sane default for local runs.
|
|
ENTRYPOINT ["tini", "--"]
|
|
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8080"]
|