fix registry

This commit is contained in:
root
2026-06-02 15:55:03 -04:00
parent a9305fa4a2
commit 72107396a1
+21 -6
View File
@@ -8,19 +8,34 @@ COMPOSE_FILE="${ROOT_DIR}/docker-compose.registry.local.yml"
AUTH_DIR="${ROOT_DIR}/docker/registry/auth" AUTH_DIR="${ROOT_DIR}/docker/registry/auth"
AUTH_FILE="${AUTH_DIR}/htpasswd" AUTH_FILE="${AUTH_DIR}/htpasswd"
read_env_value() {
local key="$1"
local line
line="$(grep -E "^${key}=" "${ENV_FILE}" | tail -n 1 || true)"
line="${line#*=}"
if [[ "${line}" == \"*\" && "${line}" == *\" ]]; then
line="${line:1:-1}"
elif [[ "${line}" == \'*\' && "${line}" == *\' ]]; then
line="${line:1:-1}"
fi
printf '%s' "${line}"
}
if [[ ! -f "${ENV_FILE}" ]]; then if [[ ! -f "${ENV_FILE}" ]]; then
echo "Missing ${ENV_FILE}" >&2 echo "Missing ${ENV_FILE}" >&2
exit 1 exit 1
fi fi
set -a
source "${ENV_FILE}"
set +a
mkdir -p "${AUTH_DIR}" mkdir -p "${AUTH_DIR}"
if [[ -n "${REGISTRY_USER:-}" && -n "${REGISTRY_PASSWORD:-}" ]]; then REGISTRY_USER_VALUE="$(read_env_value REGISTRY_USER)"
docker run --rm --entrypoint htpasswd httpd:2-alpine -Bbn "${REGISTRY_USER}" "${REGISTRY_PASSWORD}" > "${AUTH_FILE}" REGISTRY_PASSWORD_VALUE="$(read_env_value REGISTRY_PASSWORD)"
if [[ -n "${REGISTRY_USER_VALUE}" && -n "${REGISTRY_PASSWORD_VALUE}" ]]; then
docker run --rm --entrypoint htpasswd httpd:2-alpine -Bbn "${REGISTRY_USER_VALUE}" "${REGISTRY_PASSWORD_VALUE}" > "${AUTH_FILE}"
chmod 600 "${AUTH_FILE}" chmod 600 "${AUTH_FILE}"
elif [[ ! -f "${AUTH_FILE}" ]]; then elif [[ ! -f "${AUTH_FILE}" ]]; then
echo "Set REGISTRY_USER and REGISTRY_PASSWORD in ${ENV_FILE} or create ${AUTH_FILE} manually." >&2 echo "Set REGISTRY_USER and REGISTRY_PASSWORD in ${ENV_FILE} or create ${AUTH_FILE} manually." >&2