emby-splash-wall/build.sh

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 "======================================================="