diff --git a/Dockerfile b/Dockerfile index f701558a..5140b806 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,23 @@ -FROM python:latest +FROM python:3.10-slim AS build -WORKDIR /claude-code-proxy +WORKDIR /app +RUN pip install --no-cache-dir uv==0.4.30 -# Copy package specifications -COPY pyproject.toml uv.lock ./ +ENV UV_PYTHON_PREFERENCE=only-system \ + UV_PYTHON_DOWNLOADS=never -# Install uv and project dependencies -RUN pip install --upgrade uv && uv sync --locked +COPY pyproject.toml uv.lock ./ +RUN uv sync --frozen --no-install-project --no-dev -# Copy project code to current directory COPY . . +RUN uv sync --frozen --no-dev + + +FROM python:3.10-slim + +WORKDIR /app +COPY --from=build /app /app +ENV PATH=/app/.venv/bin:$PATH -# Start the proxy EXPOSE 8082 -CMD uv run uvicorn server:app --host 0.0.0.0 --port 8082 --reload +CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "8082"]