|  | @@ -152,6 +152,10 @@ docker.push() {
 | 
	
		
			
				|  |  |      docker.build push
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +docker.buildx() {
 | 
	
		
			
				|  |  | +    docker.build buildx
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  # shellcheck disable=SC2119
 | 
	
		
			
				|  |  |  docker.build() {
 | 
	
		
			
				|  |  |      pyenv.install
 | 
	
	
		
			
				|  | @@ -210,23 +214,34 @@ docker.build() {
 | 
	
		
			
				|  |  |          GITHUB_USER=$(echo "${GIT_URL}" | sed 's/.*github\.com\/\([^\/]*\).*/\1/')
 | 
	
		
			
				|  |  |          SEARX_IMAGE_NAME="${SEARX_IMAGE_NAME:-${GITHUB_USER:-searxng}/searxng}"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        BUILD="build"
 | 
	
		
			
				|  |  | +        if [ "$1" = "buildx" ]; then
 | 
	
		
			
				|  |  | +            # buildx includes the push option
 | 
	
		
			
				|  |  | +            CACHE_TAG="${SEARX_IMAGE_NAME}:latest-build-cache"
 | 
	
		
			
				|  |  | +            BUILD="buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 --push --cache-from=type=registry,ref=$CACHE_TAG --cache-to=type=registry,ref=$CACHE_TAG,mode=max"
 | 
	
		
			
				|  |  | +            shift
 | 
	
		
			
				|  |  | +        fi
 | 
	
		
			
				|  |  | +        build_msg DOCKER "Build command: ${BUILD}"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          # build Docker image
 | 
	
		
			
				|  |  |          build_msg DOCKER "Building image ${SEARX_IMAGE_NAME}:${SEARX_GIT_VERSION}"
 | 
	
		
			
				|  |  | -        sudo docker build \
 | 
	
		
			
				|  |  | +        # shellcheck disable=SC2086
 | 
	
		
			
				|  |  | +        docker $BUILD \
 | 
	
		
			
				|  |  | +         --build-arg BASE_IMAGE="${DEPENDENCIES_IMAGE_NAME}" \
 | 
	
		
			
				|  |  |           --build-arg GIT_URL="${GIT_URL}" \
 | 
	
		
			
				|  |  |           --build-arg SEARX_GIT_VERSION="${SEARX_GIT_VERSION}" \
 | 
	
		
			
				|  |  |           --build-arg VERSION_GITCOMMIT="${VERSION_GITCOMMIT}" \
 | 
	
		
			
				|  |  |           --build-arg LABEL_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
 | 
	
		
			
				|  |  |           --build-arg LABEL_VCS_REF="$(git rev-parse HEAD)" \
 | 
	
		
			
				|  |  |           --build-arg LABEL_VCS_URL="${GIT_URL}" \
 | 
	
		
			
				|  |  | -	 --build-arg TIMESTAMP_SETTINGS="$(git log -1 --format="%cd" --date=unix -- searx/settings.yml)" \
 | 
	
		
			
				|  |  | -	 --build-arg TIMESTAMP_UWSGI="$(git log -1 --format="%cd" --date=unix -- dockerfiles/uwsgi.ini)" \
 | 
	
		
			
				|  |  | +         --build-arg TIMESTAMP_SETTINGS="$(git log -1 --format="%cd" --date=unix -- searx/settings.yml)" \
 | 
	
		
			
				|  |  | +         --build-arg TIMESTAMP_UWSGI="$(git log -1 --format="%cd" --date=unix -- dockerfiles/uwsgi.ini)" \
 | 
	
		
			
				|  |  |           -t "${SEARX_IMAGE_NAME}:latest" -t "${SEARX_IMAGE_NAME}:${SEARX_GIT_VERSION}" .
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if [ "$1" = "push" ]; then
 | 
	
		
			
				|  |  | -	    sudo docker push "${SEARX_IMAGE_NAME}:latest"
 | 
	
		
			
				|  |  | -	    sudo docker push "${SEARX_IMAGE_NAME}:${SEARX_GIT_VERSION}"
 | 
	
		
			
				|  |  | -        fi
 | 
	
		
			
				|  |  | +	        docker push "${SEARX_IMAGE_NAME}:latest"
 | 
	
		
			
				|  |  | +	        docker push "${SEARX_IMAGE_NAME}:${SEARX_GIT_VERSION}"
 | 
	
		
			
				|  |  | +	    fi
 | 
	
		
			
				|  |  |      )
 | 
	
		
			
				|  |  |      dump_return $?
 | 
	
		
			
				|  |  |  }
 |