set -e REGISTRY="git.eplg.services" NAMESPACE="pterodactylimages" DIRS=( "games/rust" "games/source" "go/1.14" "go/1.15" "go/1.16" "go/1.17" "installers/alpine" "installers/debian" "java/8" "java/8j9" "java/11" "java/11j9" "java/16" "java/16j9" "java/17" "java/17j9" "java/18" "java/18j9" "java/19" "java/19j9" "java/21" "nodejs/12" "nodejs/14" "nodejs/15" "nodejs/16" "nodejs/17" "nodejs/18" "nodejs/20" "oses/alpine" "oses/debian" "python/3.7" "python/3.8" "python/3.9" "python/3.10" "python/3.11" ) for DIR in "${DIRS[@]}"; do IMAGE_NAME=$(echo "$DIR" | tr '/' '-') IMAGE_REF="$REGISTRY/$NAMESPACE/$IMAGE_NAME" echo "Building $DIR as $IMAGE_REF..." DOCKERFILE_DIR="$(dirname "$DIR/Dockerfile")" if [ -f "$(dirname "$DIR")/entrypoint.sh" ] && [ ! -f "$DOCKERFILE_DIR/entrypoint.sh" ]; then cp "$(dirname "$DIR")/entrypoint.sh" "$DOCKERFILE_DIR/" COPIED_ENTRYPOINT=true else COPIED_ENTRYPOINT=false fi docker build -t "$IMAGE_REF" -f "$DIR/Dockerfile" "$DOCKERFILE_DIR" if [ "$COPIED_ENTRYPOINT" = true ]; then rm "$DOCKERFILE_DIR/entrypoint.sh" fi echo "Pushing $IMAGE_REF..." docker push "$IMAGE_REF" echo "Successfully built and pushed $IMAGE_REF" echo "----------------------------------------" done echo "All images built and pushed successfully!"