From be3e8ea45c0926f9483ffde4afd1aa0643fc4a98 Mon Sep 17 00:00:00 2001 From: Ezra Date: Fri, 10 Apr 2026 12:14:47 +0000 Subject: [PATCH] fix: update Dockerfile to clone agent source and add .dockerignore --- .dockerignore | 7 +++++++ docker-compose.yml | 6 ++++++ docker/agent.Dockerfile | 18 ++++++++---------- 3 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..03cad9f7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +.git +.gitignore +roles/ +group_vars/ +host_vars/ +*.yml +*.md diff --git a/docker-compose.yml b/docker-compose.yml index 42e85441..aa96ede5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,8 @@ services: build: context: . dockerfile: docker/agent.Dockerfile + args: + AGENT_REPO: "https://forge.alexanderwhitestone.com/Timmy_Foundation/hermes-agent.git" container_name: wizard-ezra ports: - "8643:8643" @@ -19,6 +21,8 @@ services: build: context: . dockerfile: docker/agent.Dockerfile + args: + AGENT_REPO: "https://forge.alexanderwhitestone.com/Timmy_Foundation/hermes-agent.git" container_name: wizard-bezalel ports: - "8644:8643" @@ -33,6 +37,8 @@ services: build: context: . dockerfile: docker/agent.Dockerfile + args: + AGENT_REPO: "https://forge.alexanderwhitestone.com/Timmy_Foundation/hermes-agent.git" container_name: wizard-allegro ports: - "8645:8643" diff --git a/docker/agent.Dockerfile b/docker/agent.Dockerfile index ac239824..795240dd 100644 --- a/docker/agent.Dockerfile +++ b/docker/agent.Dockerfile @@ -1,31 +1,29 @@ # --- Build Stage --- FROM python:3.11-slim AS builder -# Install build essentials and uv +ARG AGENT_REPO="https://forge.alexanderwhitestone.com/Timmy_Foundation/hermes-agent.git" + RUN apt-get update && apt-get install -y --no-install-recommends curl git build-essential cmake ca-certificates && curl -LsSf https://astral.sh/uv/install.sh | sh && rm -rf /var/lib/apt/lists/* ENV PATH="/root/.local/bin:${PATH}" WORKDIR /app -# Copy only dependency files first for caching -COPY pyproject.toml uv.lock* ./ +# Clone the actual source code +RUN git clone ${AGENT_REPO} . + +# Install dependencies using uv RUN uv sync --frozen --no-install-project --no-dev # --- Final Stage --- FROM python:3.11-slim -# Install runtime dependencies RUN apt-get update && apt-get install -y --no-install-recommends curl git socat ripgrep ffmpeg ca-certificates && rm -rf /var/lib/apt/lists/* -# Copy the virtual environment from builder +# Copy the virtual environment and the source from builder COPY --from=builder /app/.venv /app/.venv +COPY --from=builder /app /app ENV PATH="/app/.venv/bin:${PATH}" WORKDIR /app -COPY . . - -# Expose the gateway port (default) EXPOSE 8643 - -# Run the gateway ENTRYPOINT ["hermes", "gateway"]