From bece7ab23b28bc54c6ca464504d093a003daeac7 Mon Sep 17 00:00:00 2001 From: MrKan Date: Tue, 7 Apr 2026 15:35:25 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD?= =?UTF-8?q?=D0=B5=D1=80=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 8 ++++++++ .env.example | 4 ++++ Dockerfile | 22 ++++++++++++++++++++++ docker-compose.yml | 16 ++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e764889 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +.venv/ +.git/ +.idea/ +.pytest_cache/ +.ruff_cache/ +*.md +*.pyc +__pycache__/ diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..d254cb2 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +PROVIDER_URL=http://localhost:8000/v1 +PROVIDER_API_KEY=your-api-key +PROVIDER_MODEL=gpt-4 +AGENT_API_PATH=../agent_api diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1de3b97 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.14-slim as base + +ENV PYTHONDONTWRITEBYTECODE=1 \ + PYTHONUNBUFFERED=1 + +WORKDIR /app + +FROM base as development + +RUN pip install uv + +COPY pyproject.toml uv.lock ./ +RUN uv sync --frozen --no-install-project + +COPY --from=agent_api . /agent_api/ +RUN uv pip install -e /agent_api/ + +ENV PATH="/app/.venv/bin:$PATH" + +EXPOSE 8000 + +CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a4c9b6c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +services: + agent-dev: + build: + context: . + target: development + additional_contexts: + agent_api: ${AGENT_API_PATH} + volumes: + - ./src:/app/src + - ${AGENT_API_PATH}:/agent-api/ + ports: + - "8000:8000" + env_file: + - .env + profiles: + - dev