CLAUDE: Fix Docker build for UV migration
Fixed Docker build issues to complete UV migration. ## Changes ### README.md - Created backend README.md (required by hatchling build system) - Simple quick start guide referencing CLAUDE.md ### Dockerfile - Added `build-essential` for compiling native extensions (pendulum Rust code) - Updated copy steps to include README.md in both dev and prod stages - Dockerfile now successfully builds both development and production images ### .dockerignore - Added exception `!README.md` to allow README.md through - Keeps other *.md files excluded as intended ## Testing - ✅ Development image builds successfully (paper-dynasty-backend:dev-uv) - ✅ Production image builds successfully (paper-dynasty-backend:prod-uv) - ✅ Container starts and UV installs dependencies correctly - ✅ Application attempts to start (fails only on missing .env, as expected) ## Build Results - Dev image: 73 packages installed (with dev deps) - Prod image: 57 packages installed (no dev deps) - Both stages use `uv sync --frozen` for reproducible builds - Build time: ~1-2 minutes per stage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
9a9018aab4
commit
6d1bc77e38
@ -44,6 +44,7 @@ docker-compose.yml
|
|||||||
|
|
||||||
# Documentation
|
# Documentation
|
||||||
*.md
|
*.md
|
||||||
|
!README.md
|
||||||
docs/
|
docs/
|
||||||
|
|
||||||
# OS
|
# OS
|
||||||
|
|||||||
@ -14,6 +14,7 @@ ENV PYTHONUNBUFFERED=1 \
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
curl \
|
curl \
|
||||||
postgresql-client \
|
postgresql-client \
|
||||||
|
build-essential \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install UV
|
# Install UV
|
||||||
@ -25,8 +26,8 @@ WORKDIR /app
|
|||||||
# Development stage
|
# Development stage
|
||||||
FROM base as development
|
FROM base as development
|
||||||
|
|
||||||
# Copy dependency files
|
# Copy dependency files (including README.md referenced in pyproject.toml)
|
||||||
COPY pyproject.toml uv.lock ./
|
COPY pyproject.toml uv.lock README.md ./
|
||||||
|
|
||||||
# Install all dependencies (including dev)
|
# Install all dependencies (including dev)
|
||||||
RUN uv sync --frozen
|
RUN uv sync --frozen
|
||||||
@ -43,8 +44,8 @@ CMD ["uv", "run", "python", "-m", "uvicorn", "app.main:socket_app", "--host", "0
|
|||||||
# Production stage
|
# Production stage
|
||||||
FROM base as production
|
FROM base as production
|
||||||
|
|
||||||
# Copy dependency files
|
# Copy dependency files (including README.md referenced in pyproject.toml)
|
||||||
COPY pyproject.toml uv.lock ./
|
COPY pyproject.toml uv.lock README.md ./
|
||||||
|
|
||||||
# Install production dependencies only
|
# Install production dependencies only
|
||||||
RUN uv sync --frozen --no-dev
|
RUN uv sync --frozen --no-dev
|
||||||
|
|||||||
20
backend/README.md
Normal file
20
backend/README.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Paper Dynasty Backend
|
||||||
|
|
||||||
|
FastAPI-based real-time baseball game engine with WebSocket support.
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install UV
|
||||||
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
uv sync
|
||||||
|
|
||||||
|
# Run server
|
||||||
|
uv run python -m app.main
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
See `CLAUDE.md` for full documentation.
|
||||||
Loading…
Reference in New Issue
Block a user