fix: multi-platform Docker build for ARM devices #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes
exec /entrypoint.sh: exec format errorwhen deploying on ARM-based devices (e.g. Raspberry Pi) by enabling multi-platform Docker builds.Changes
Multi-platform CI build (docker.yml)
docker/setup-qemu-actionfor cross-platform emulationdocker/setup-buildx-actionto enable Docker Buildxlinux/amd64,linux/arm64, andlinux/arm/v7Multi-stage Dockerfile (Dockerfile)
gcc,libffi-dev,libjpeg62-turbo-dev,zlib1g-devto compile native dependencies (cffi,Pillow) from source on ARM architectures where no pre-built wheels are availablelibjpeg62-turboas runtime dependency for PillowPlatforms supported
linux/amd64linux/arm64linux/arm/v7Closes #1