35 lines
808 B
Bash
Executable File
35 lines
808 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
REGISTRY=${REGISTRY:-gitea.anthonybouteiller.ovh}
|
|
OWNER=${OWNER:-blomios}
|
|
IMAGE_NAME=${IMAGE_NAME:-nodecast-tv}
|
|
TAG=${TAG:-latest}
|
|
IMAGE="${REGISTRY}/${OWNER}/${IMAGE_NAME}:${TAG}"
|
|
|
|
push_image=true
|
|
if [[ "${1:-}" == "--no-push" ]]; then
|
|
push_image=false
|
|
elif [[ $# -gt 0 ]]; then
|
|
echo "Usage: $0 [--no-push]" >&2
|
|
exit 2
|
|
fi
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "Error: docker is required but was not found in PATH." >&2
|
|
exit 1
|
|
fi
|
|
|
|
repo_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
|
|
|
echo "Target image: ${IMAGE}"
|
|
docker build --file "${repo_dir}/Dockerfile" --tag "${IMAGE}" "${repo_dir}"
|
|
|
|
if [[ "${DRY_RUN:-false}" == "true" || "${push_image}" == "false" ]]; then
|
|
echo "Push skipped."
|
|
exit 0
|
|
fi
|
|
|
|
docker push "${IMAGE}"
|