FROM python:3.12-slim RUN pip install --no-cache-dir uv WORKDIR /app ENV UV_COMPILE_BYTECODE=1 \ UV_LINK_MODE=copy \ PYTHONUNBUFFERED=1 # 依存関係だけ先にインストールしてレイヤーキャッシュを効かせる COPY pyproject.toml uv.lock ./ RUN uv sync --frozen --no-install-project --no-dev COPY . . RUN uv sync --frozen --no-dev ENV PATH="/app/.venv/bin:$PATH" EXPOSE 8000 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]