You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: optimize Dockerfiles with multi-stage builds (#546)
* fix: optimize Dockerfiles with multi-stage builds and uv best practices
- Switch all 3 Dockerfiles to multi-stage builds (uv builder → python:3.13-slim-bookworm runtime)
- Addon images reduced from 1.66 GB to 329 MB by removing uv and full bookworm from runtime
- Use uv sync --locked with uv.lock for reproducible builds
- Add --mount=type=cache for uv download cache, --no-install-project for dependency layer caching
- Enable UV_COMPILE_BYTECODE=1 for faster startup, UV_LINK_MODE=copy for cache mount compatibility
- Pin uv version to 0.9.29 across all Dockerfiles
- Add ARG declarations for BUILD_VERSION/BUILD_ARCH in addon Dockerfiles
- Use --no-editable for addon images (no source in runtime), editable for root (fastmcp needs source)
- Replace ENTRYPOINT+CMD with just CMD in root Dockerfile
- Add # syntax=docker/dockerfile:1 to all Dockerfiles for explicit BuildKit
- Fix addon tests: use subprocess for docker build (SDK doesn't support BuildKit)
- Fix addon tests: mount /data as rw so start.py can persist secret_path.txt
- Fix addon tests: wait for Uvicorn startup instead of premature log match
- Update docker build test to verify uv is excluded from runtime image
* fix: update Dockerfile HTTP mode comment to match docs
0 commit comments