diff --git a/lib/common.sh b/lib/common.sh index 1e0bc2f..c4f9bd1 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -70,8 +70,10 @@ _project_root() { } # Source .env and export all variables. -# Uses set -a/+a to auto-export every variable defined in the file, -# making them available to child processes (envsubst, ssh, etc.). +# Internal API URLs are auto-derived from container IPs: +# GITEA_INTERNAL_URL = http://UNRAID_GITEA_IP:3000 +# GITEA_BACKUP_INTERNAL_URL = http://FEDORA_GITEA_IP:3000 +# so users do not need to set these URL vars manually in .env. load_env() { local env_file env_file="$(_project_root)/.env" @@ -105,6 +107,15 @@ load_env() { value="${value%"${value##*[! ]}"}" export "$key=$value" done < "$env_file" + + # Derive internal API URLs from dedicated container IPs. + # This keeps one source of truth: *_GITEA_IP. + if [[ -n "${UNRAID_GITEA_IP:-}" ]]; then + export GITEA_INTERNAL_URL="http://${UNRAID_GITEA_IP}:3000" + fi + if [[ -n "${FEDORA_GITEA_IP:-}" ]]; then + export GITEA_BACKUP_INTERNAL_URL="http://${FEDORA_GITEA_IP}:3000" + fi } save_env_var() { @@ -220,8 +231,8 @@ _ENV_VAR_NAMES=( FEDORA_MACVLAN_IP_RANGE FEDORA_GITEA_IP GITEA_ADMIN_USER GITEA_ADMIN_PASSWORD GITEA_ADMIN_EMAIL GITEA_ORG_NAME GITEA_INSTANCE_NAME GITEA_DB_TYPE GITEA_VERSION ACT_RUNNER_VERSION - GITEA_DOMAIN GITEA_INTERNAL_URL - GITEA_BACKUP_INTERNAL_URL GITEA_BACKUP_MIRROR_INTERVAL + GITEA_DOMAIN + GITEA_BACKUP_MIRROR_INTERVAL BACKUP_STORAGE_PATH BACKUP_RETENTION_COUNT RUNNER_DEFAULT_IMAGE GITHUB_USERNAME GITHUB_TOKEN @@ -243,8 +254,8 @@ _ENV_VAR_TYPES=( nonempty ip nonempty password email nonempty nonempty db_type nonempty nonempty - nonempty url - url nonempty + nonempty + nonempty path integer nonempty nonempty nonempty