forked from dockerfiles/debian-curl
		
	Compare commits
	
		
			6 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						ddf10200a4
	
				 | 
					
					
						|||
| 
						
						
							
						
						161a8b51be
	
				 | 
					
					
						|||
| 
						
						
							
						
						956244a06d
	
				 | 
					
					
						|||
| 
						
						
							
						
						1ca23cf095
	
				 | 
					
					
						|||
| 
						
						
							
						
						7cb90df7a9
	
				 | 
					
					
						|||
| bd5462f3b2 | 
@@ -1,12 +1,20 @@
 | 
				
			|||||||
version: '3.5'
 | 
					version: '3.5'
 | 
				
			||||||
services:
 | 
					services:
 | 
				
			||||||
  debian10-x86:
 | 
					  debian10:
 | 
				
			||||||
    build: .
 | 
					    build:
 | 
				
			||||||
    hostname: debian10-x86
 | 
					      context: .
 | 
				
			||||||
    platform: linux/amd64/v3
 | 
					      dockerfile: Dockerfile
 | 
				
			||||||
    image: git.shihaam.dev/dockerfiles/debian-curl:10
 | 
					      x-bake:
 | 
				
			||||||
  debian10-arm:
 | 
					        platforms:
 | 
				
			||||||
    build: .
 | 
					          - linux/amd64/v1
 | 
				
			||||||
    hostname: debian10-arm
 | 
					          - linux/amd64/v2
 | 
				
			||||||
    platform: linux/arm64
 | 
					          - linux/amd64/v3
 | 
				
			||||||
    image: git.shihaam.dev/dockerfiles/debian-curl:10
 | 
					          - linux/arm/v7
 | 
				
			||||||
 | 
					          - linux/arm64
 | 
				
			||||||
 | 
					        pull: true
 | 
				
			||||||
 | 
					        tags:
 | 
				
			||||||
 | 
					          - ghcr.io/shihaamabr/debian-curl/debian-curl:10
 | 
				
			||||||
 | 
					          - registry.gitlab.com/shihaam_me/debian-curl/debian-curl:10
 | 
				
			||||||
 | 
					          - git.shihaam.dev/dockerfiles/debian-curl/debian-curl:10
 | 
				
			||||||
 | 
					    hostname: debian10
 | 
				
			||||||
 | 
					#    image: git.shihaam.dev/dockerfiles/debian-curl:10
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								tmp/build-push.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								tmp/build-push.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker compose build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker tag debian-curl:x86-10 git.shihaam.dev/dockerfiles/debian-curl:x86-10
 | 
				
			||||||
 | 
					docker tag debian-curl:arm-10 git.shihaam.dev/dockerfiles/debian-curl:arm-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker push git.shihaam.dev/dockerfiles/debian-curl:x86-10
 | 
				
			||||||
 | 
					docker push git.shihaam.dev/dockerfiles/debian-curl:arm-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker manifest create git.shihaam.dev/dockerfiles/debian-curl:10 \
 | 
				
			||||||
 | 
						git.shihaam.dev/dockerfiles/debian-curl:x86-10 \
 | 
				
			||||||
 | 
						git.shihaam.dev/dockerfiles/debian-curl:arm-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#docker manifest create git.shihaam.dev/dockerfiles/debian-curl/debian-curl:test \
 | 
				
			||||||
 | 
					#git.shihaam.dev/dockerfiles/debian-curl/debian-curl:test-git.shihaam.dev/dockerfiles/debian-curl/debian-curl:test-linux-amd64-v3 \
 | 
				
			||||||
 | 
					#git.shihaam.dev/dockerfiles/debian-curl/debian-curl:test-git.shihaam.dev/dockerfiles/debian-curl/debian-curl:test-linux-arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#docker manifest annotate git.shihaam.dev/dockerfiles/debian-curl:10 \
 | 
				
			||||||
 | 
					#git.shihaam.dev/dockerfiles/debian-curl:x86-10  --os linux --arch amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#docker manifest annotate git.shihaam.dev/dockerfiles/debian-curl:10 \
 | 
				
			||||||
 | 
					#git.shihaam.dev/dockerfiles/debian-curl:arm-10  --os linux --arch arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker manifest push git.shihaam.dev/dockerfiles/debian-curl:10
 | 
				
			||||||
							
								
								
									
										98
									
								
								tmp/readimage.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										98
									
								
								tmp/readimage.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,98 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check if podman is installed
 | 
				
			||||||
 | 
					if command -v podman &> /dev/null
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    container_engine="podman"
 | 
				
			||||||
 | 
					# Check if docker is installed
 | 
				
			||||||
 | 
					elif command -v docker &> /dev/null
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    container_engine="docker"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    # Neither podman nor docker is installed
 | 
				
			||||||
 | 
					    echo "Neither Podman nor Docker is installed."
 | 
				
			||||||
 | 
					    echo "Please install either Podman or Docker to proceed."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					echo "Using $container_engine as the container engine."
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					yq() {
 | 
				
			||||||
 | 
					  $container_engine run --rm -i -v "${PWD}":/workdir mikefarah/yq "$@"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default file
 | 
				
			||||||
 | 
					FILE="docker-compose.yml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check for -f argument
 | 
				
			||||||
 | 
					while getopts "f:" opt; do
 | 
				
			||||||
 | 
					  case $opt in
 | 
				
			||||||
 | 
					    f)
 | 
				
			||||||
 | 
					      FILE="$OPTARG"
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
 | 
					    *)
 | 
				
			||||||
 | 
					      echo "Usage: $0 [-f docker-compose-file] build <service_name>"
 | 
				
			||||||
 | 
					      exit 1
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Check if file exists
 | 
				
			||||||
 | 
					if [ ! -f "$FILE" ]; then
 | 
				
			||||||
 | 
					    echo "File $FILE does not exist."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Read and print service name, platform, and image
 | 
				
			||||||
 | 
					services=$(yq e '.services | keys | .[]' "$FILE")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for service in $services; do
 | 
				
			||||||
 | 
					    platform=$(yq e ".services.$service.platform" "$FILE")
 | 
				
			||||||
 | 
					    image=$(yq e ".services.$service.image" "$FILE")
 | 
				
			||||||
 | 
					    echo "Service: $service"
 | 
				
			||||||
 | 
					    echo "Platform: $platform"
 | 
				
			||||||
 | 
					    echo "Image: $image"
 | 
				
			||||||
 | 
					    echo "---------------------"
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					build_image() {
 | 
				
			||||||
 | 
					    local service=$1
 | 
				
			||||||
 | 
					    local platform=$(yq e ".services.$service.platform" "$FILE")
 | 
				
			||||||
 | 
					    local image=$(yq e ".services.$service.image" "$FILE")
 | 
				
			||||||
 | 
					    local context=$(yq e ".services.$service.build.context" "$FILE")
 | 
				
			||||||
 | 
					    local dockerfile=$(yq e ".services.$service.build.dockerfile" "$FILE")
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # Check if platform is defined
 | 
				
			||||||
 | 
					    if [ -z "$platform" ]; then
 | 
				
			||||||
 | 
					        echo "Error: Platform is not defined for service $service."
 | 
				
			||||||
 | 
					        exit 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # Replace '/' and ':' with '-' in the platform string to make it suitable for a tag
 | 
				
			||||||
 | 
					    local platform_tag=$(echo "$platform" | tr '/:' '-')
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # Append platform information to the image tag
 | 
				
			||||||
 | 
					    local new_image_tag="${image}-${platform_tag}"
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    echo "Building service: $service"
 | 
				
			||||||
 | 
					    echo "Platform: $platform"
 | 
				
			||||||
 | 
					    echo "Image: $new_image_tag"
 | 
				
			||||||
 | 
					    echo "---------------------"
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    $container_engine buildx build --platform "$platform" -t "$new_image_tag" -f "$context/$dockerfile" "$context"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					# Check for "build" argument and optional service name
 | 
				
			||||||
 | 
					if [ "$1" == "build" ]; then
 | 
				
			||||||
 | 
					    if [ "$#" -ge 2 ]; then
 | 
				
			||||||
 | 
					        # Build specified service
 | 
				
			||||||
 | 
					        build_image "$2"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        # Build all services
 | 
				
			||||||
 | 
					        services=$(yq e '.services | keys | .[]' "$FILE")
 | 
				
			||||||
 | 
					        for service in $services; do
 | 
				
			||||||
 | 
					            build_image "$service"
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    echo "Usage: $0 [-f docker-compose-file] build [service_name]"
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
		Reference in New Issue
	
	Block a user