Add Docker build environment for KiCad WASM

- Add Dockerfile with ARM64-native emscripten/emsdk:4.0.2-arm64 image
- Add docker-compose.yml with resource limits (10 CPUs, 16GB RAM)
- Add helper scripts (build.sh, shell.sh, entrypoint.sh)
- Add Docker README with usage instructions
- Update playwright.config.ts to find free port dynamically
- Add .dockerignore and .gitignore entries for build artifacts

The Docker environment provides reproducible builds with:
- Named volume for build cache (faster I/O on macOS)
- Resource limits to prevent system lockups
- Interactive shell access for debugging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Viktor Vaczi 2025-12-08 12:07:01 +01:00
commit b5e46a0aba
9 changed files with 262 additions and 3 deletions

25
docker/Dockerfile Normal file
View file

@ -0,0 +1,25 @@
# Use ARM64-native image for Apple Silicon (M1/M2/M3/M4)
FROM emscripten/emsdk:4.0.2-arm64
# Install build tools required for KiCad WASM build
RUN apt-get update && apt-get install -y \
cmake \
autoconf \
automake \
libtool \
meson \
ninja-build \
pkg-config \
curl \
git \
python3 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Entry point that sources Emscripten environment
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["bash"]