diff --git a/agentex/Dockerfile b/agentex/Dockerfile index ea3e8d5b..db30928d 100644 --- a/agentex/Dockerfile +++ b/agentex/Dockerfile @@ -1,5 +1,5 @@ FROM 022465994601.dkr.ecr.us-west-2.amazonaws.com/golden/chainguard/python:3.12-dev AS base -ARG SOURCE_DIR=public/agentex +ARG SOURCE_DIR=agentex # Install uv package manager COPY --from=ghcr.io/astral-sh/uv:0.6.9 /uv /uvx /bin/ @@ -16,20 +16,22 @@ RUN apk add --no-cache \ WORKDIR /app -# Copy dependency management files -COPY ${SOURCE_DIR}/pyproject.toml ${SOURCE_DIR}/README.md ./ +# Copy dependency management files (workspace root + member + lockfile for reproducible builds) +COPY pyproject.toml /app/pyproject.toml +COPY uv.lock /app/uv.lock +COPY ${SOURCE_DIR}/pyproject.toml ${SOURCE_DIR}/README.md ./${SOURCE_DIR}/ # Install core dependencies to system Python (Chainguard prefix is /usr) ENV UV_PROJECT_ENVIRONMENT=/usr -RUN uv sync --no-dev +RUN uv sync --frozen --no-dev --package agentex-backend # Development stage (for docker-compose) FROM base AS dev ENTRYPOINT [] -ARG SOURCE_DIR=public/agentex +ARG SOURCE_DIR=agentex # Install dev dependencies to system Python -RUN uv sync --group dev +RUN uv sync --frozen --group dev --package agentex-backend COPY ${SOURCE_DIR}/src/ ./src/ EXPOSE 5003 @@ -38,10 +40,10 @@ CMD ["ddtrace-run", "uvicorn", "src.api.app:app", "--host", "0.0.0.0", "--port", # Docs builder stage FROM base AS docs-builder -ARG SOURCE_DIR=public/agentex +ARG SOURCE_DIR=agentex # Install docs dependencies to system Python -RUN uv sync --group docs +RUN uv sync --frozen --group docs --package agentex-backend COPY ${SOURCE_DIR}/docs/ docs/ COPY ${SOURCE_DIR}/src/ src/ @@ -52,7 +54,7 @@ RUN cd docs && mkdocs build FROM 022465994601.dkr.ecr.us-west-2.amazonaws.com/golden/chainguard/python:3.12-dev AS production ENTRYPOINT [] ARG INCLUDE_DOCS=false -ARG SOURCE_DIR=public/agentex +ARG SOURCE_DIR=agentex # Install runtime system dependencies only (no build tools) USER root