56 lines
No EOL
1.4 KiB
Bash
56 lines
No EOL
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
DOCKER_USER="blackwhitebear8"
|
|
REPO_NAME="emby-splash-wall"
|
|
|
|
echo "Checking if you are logged in to Docker Hub..."
|
|
if ! docker system info | grep -q "Username"; then
|
|
echo "Not logged in. Starting 'docker login'..."
|
|
docker login
|
|
else
|
|
echo "Logged in as $(docker system info | grep "Username" | awk '{print $2}')"
|
|
fi
|
|
|
|
echo ""
|
|
read -p "Enter the version/tag (e.g., 1.0.0 or latest): " VERSION
|
|
|
|
if [ -z "$VERSION" ]; then
|
|
echo "Error: No version specified. Script aborted."
|
|
exit 1
|
|
fi
|
|
|
|
FULL_IMAGE_NAME="$DOCKER_USER/$REPO_NAME:$VERSION"
|
|
|
|
if ! docker buildx inspect multiarch-builder > /dev/null 2>&1; then
|
|
echo "Creating new buildx builder 'multiarch-builder'..."
|
|
docker buildx create --use --name multiarch-builder
|
|
else
|
|
echo "Using existing builder 'multiarch-builder'..."
|
|
docker buildx use multiarch-builder
|
|
fi
|
|
|
|
TAG_ARGS="-t $FULL_IMAGE_NAME"
|
|
|
|
if [ "$VERSION" != "latest" ]; then
|
|
echo "Adding extra tag 'latest'..."
|
|
TAG_ARGS="$TAG_ARGS -t $DOCKER_USER/$REPO_NAME:latest"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Building and pushing for linux/amd64 and linux/arm64..."
|
|
echo "This may take a while..."
|
|
|
|
docker buildx build \
|
|
--platform linux/amd64,linux/arm64 \
|
|
$TAG_ARGS \
|
|
--push \
|
|
.
|
|
|
|
echo ""
|
|
echo "======================================================="
|
|
echo "Done! Your multi-arch image is now on Docker Hub:"
|
|
echo "$FULL_IMAGE_NAME"
|
|
echo "Architectures: AMD64 & ARM64"
|
|
echo "=======================================================" |