|  | @@ -152,6 +152,10 @@ docker.push() {
 | 
											
												
													
														|  |      docker.build push
 |  |      docker.build push
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +docker.buildx() {
 | 
											
												
													
														|  | 
 |  | +    docker.build buildx
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  # shellcheck disable=SC2119
 |  |  # shellcheck disable=SC2119
 | 
											
												
													
														|  |  docker.build() {
 |  |  docker.build() {
 | 
											
												
													
														|  |      pyenv.install
 |  |      pyenv.install
 | 
											
										
											
												
													
														|  | @@ -210,23 +214,34 @@ docker.build() {
 | 
											
												
													
														|  |          GITHUB_USER=$(echo "${GIT_URL}" | sed 's/.*github\.com\/\([^\/]*\).*/\1/')
 |  |          GITHUB_USER=$(echo "${GIT_URL}" | sed 's/.*github\.com\/\([^\/]*\).*/\1/')
 | 
											
												
													
														|  |          SEARX_IMAGE_NAME="${SEARX_IMAGE_NAME:-${GITHUB_USER:-searxng}/searxng}"
 |  |          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 Docker image
 | 
											
												
													
														|  |          build_msg DOCKER "Building image ${SEARX_IMAGE_NAME}:${SEARX_GIT_VERSION}"
 |  |          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 GIT_URL="${GIT_URL}" \
 | 
											
												
													
														|  |           --build-arg SEARX_GIT_VERSION="${SEARX_GIT_VERSION}" \
 |  |           --build-arg SEARX_GIT_VERSION="${SEARX_GIT_VERSION}" \
 | 
											
												
													
														|  |           --build-arg VERSION_GITCOMMIT="${VERSION_GITCOMMIT}" \
 |  |           --build-arg VERSION_GITCOMMIT="${VERSION_GITCOMMIT}" \
 | 
											
												
													
														|  |           --build-arg LABEL_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \
 |  |           --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_REF="$(git rev-parse HEAD)" \
 | 
											
												
													
														|  |           --build-arg LABEL_VCS_URL="${GIT_URL}" \
 |  |           --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}" .
 |  |           -t "${SEARX_IMAGE_NAME}:latest" -t "${SEARX_IMAGE_NAME}:${SEARX_GIT_VERSION}" .
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          if [ "$1" = "push" ]; then
 |  |          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 $?
 |  |      dump_return $?
 | 
											
												
													
														|  |  }
 |  |  }
 |