From bb2a47157ed2e342feaa0204cf170cfff6a0f398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A8=B8=EB=8B=88=ED=8E=98=EB=8B=88?= Date: Fri, 20 Mar 2026 15:30:14 +0900 Subject: [PATCH] fix: replace original Dockerfile with agent server Dockerfile --- Dockerfile | 80 +++++++++--------------------------------------- Dockerfile.agent | 23 -------------- 2 files changed, 15 insertions(+), 88 deletions(-) delete mode 100644 Dockerfile.agent diff --git a/Dockerfile b/Dockerfile index 6dd0289..48cef2f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,73 +1,23 @@ -FROM python:3.12.12-slim-trixie +FROM python:3.12-slim -ARG DOCKER_CLI_VERSION=5:29.1.5-1~debian.13~trixie -ARG NODEJS_VERSION=22.22.0-1nodesource1 -ARG UV_VERSION=0.9.26 -ARG YARN_VERSION=4.12.0 +RUN apt-get update && apt-get install -y --no-install-recommends \ + git curl && \ + rm -rf /var/lib/apt/lists/* -ENV DEBIAN_FRONTEND=noninteractive +RUN curl -LsSf https://astral.sh/uv/install.sh | sh +ENV PATH="/root/.local/bin:$PATH" -RUN apt-get update && apt-get install -y \ - git \ - curl \ - wget \ - ca-certificates \ - gnupg \ - lsb-release \ - build-essential \ - openssh-client \ - jq \ - unzip \ - zip \ - && rm -rf /var/lib/apt/lists/* +WORKDIR /app -RUN install -m 0755 -d /etc/apt/keyrings \ - && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \ - && chmod a+r /etc/apt/keyrings/docker.asc \ - && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" \ - | tee /etc/apt/sources.list.d/docker.list > /dev/null \ - && apt-get update \ - && apt-get install -y "docker-ce-cli=${DOCKER_CLI_VERSION}" \ - && rm -rf /var/lib/apt/lists/* +COPY pyproject.toml uv.lock ./ +RUN uv sync --frozen --no-dev -RUN set -eux; \ - arch="$(dpkg --print-architecture)"; \ - case "${arch}" in \ - amd64) uv_arch="x86_64-unknown-linux-gnu"; uv_sha256="30ccbf0a66dc8727a02b0e245c583ee970bdafecf3a443c1686e1b30ec4939e8" ;; \ - arm64) uv_arch="aarch64-unknown-linux-gnu"; uv_sha256="f71040c59798f79c44c08a7a1c1af7de95a8d334ea924b47b67ad6b9632be270" ;; \ - *) echo "unsupported architecture: ${arch}" >&2; exit 1 ;; \ - esac; \ - curl -fsSL "https://github.com/astral-sh/uv/releases/download/${UV_VERSION}/uv-${uv_arch}.tar.gz" -o /tmp/uv.tar.gz; \ - echo "${uv_sha256} /tmp/uv.tar.gz" | sha256sum -c -; \ - tar -xzf /tmp/uv.tar.gz -C /tmp; \ - install -m 0755 -d /root/.local/bin; \ - install -m 0755 "/tmp/uv-${uv_arch}/uv" /root/.local/bin/uv; \ - install -m 0755 "/tmp/uv-${uv_arch}/uvx" /root/.local/bin/uvx; \ - rm -rf /tmp/uv.tar.gz "/tmp/uv-${uv_arch}" +COPY agent/ ./agent/ +COPY langgraph.json ./ -ENV PATH=/root/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +RUN useradd -m -u 1000 agent +USER agent -RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ - && apt-get install -y "nodejs=${NODEJS_VERSION}" \ - && rm -rf /var/lib/apt/lists/* \ - && corepack enable \ - && corepack prepare "yarn@${YARN_VERSION}" --activate +EXPOSE 8000 -ENV GO_VERSION=1.23.5 - -RUN curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-$(dpkg --print-architecture).tar.gz" | tar -C /usr/local -xz - -ENV PATH=/usr/local/go/bin:/root/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV GOPATH=/root/go -ENV PATH=/root/go/bin:/usr/local/go/bin:/root/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - -WORKDIR /workspace - -RUN echo "=== Installed versions ===" \ - && python --version \ - && uv --version \ - && node --version \ - && yarn --version \ - && go version \ - && docker --version \ - && git --version +CMD ["uv", "run", "uvicorn", "agent.webapp:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/Dockerfile.agent b/Dockerfile.agent deleted file mode 100644 index 48cef2f..0000000 --- a/Dockerfile.agent +++ /dev/null @@ -1,23 +0,0 @@ -FROM python:3.12-slim - -RUN apt-get update && apt-get install -y --no-install-recommends \ - git curl && \ - rm -rf /var/lib/apt/lists/* - -RUN curl -LsSf https://astral.sh/uv/install.sh | sh -ENV PATH="/root/.local/bin:$PATH" - -WORKDIR /app - -COPY pyproject.toml uv.lock ./ -RUN uv sync --frozen --no-dev - -COPY agent/ ./agent/ -COPY langgraph.json ./ - -RUN useradd -m -u 1000 agent -USER agent - -EXPOSE 8000 - -CMD ["uv", "run", "uvicorn", "agent.webapp:app", "--host", "0.0.0.0", "--port", "8000"]