50 lines
1.4 KiB
Bash
Executable File
50 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build ARM64-only image for Raspberry Pi 4
|
|
# Faster build when you only need ARM64
|
|
|
|
set -e
|
|
|
|
IMAGE_NAME="${IMAGE_NAME:-easylinux/web-gateway}"
|
|
IMAGE_TAG="${IMAGE_TAG:-latest}"
|
|
|
|
echo "============================================"
|
|
echo "Building ARM64 Image for Raspberry Pi 4"
|
|
echo "============================================"
|
|
echo "Image: ${IMAGE_NAME}:${IMAGE_TAG}"
|
|
echo "Platform: linux/arm64"
|
|
echo "============================================"
|
|
|
|
# Check if buildx is available
|
|
if ! docker buildx version >/dev/null 2>&1; then
|
|
echo "Error: docker buildx not found. Please install Docker Buildx."
|
|
exit 1
|
|
fi
|
|
|
|
# Create builder if needed
|
|
if ! docker buildx ls | grep -q arm64-builder; then
|
|
echo "Creating arm64-builder..."
|
|
docker buildx create --name arm64-builder --use --bootstrap
|
|
else
|
|
echo "Using existing arm64-builder..."
|
|
docker buildx use arm64-builder
|
|
fi
|
|
|
|
# Build ARM64 image
|
|
echo "Building for ARM64..."
|
|
docker buildx build \
|
|
--platform linux/arm64 \
|
|
--tag "${IMAGE_NAME}:${IMAGE_TAG}" \
|
|
--load \
|
|
.
|
|
|
|
echo "============================================"
|
|
echo "✅ ARM64 image built successfully!"
|
|
echo "============================================"
|
|
echo "Image: ${IMAGE_NAME}:${IMAGE_TAG}"
|
|
echo ""
|
|
echo "Push to registry:"
|
|
echo " docker push ${IMAGE_NAME}:${IMAGE_TAG}"
|
|
echo ""
|
|
echo "Or save as tar:"
|
|
echo " docker save ${IMAGE_NAME}:${IMAGE_TAG} | gzip > web-gateway-arm64.tar.gz"
|