From a25c9168a50f421a63c7fd33440f6ea79f34bad5 Mon Sep 17 00:00:00 2001 From: S Date: Mon, 2 Mar 2026 21:07:37 -0500 Subject: [PATCH] feat: add support for Unraid Gitea IP and domain configuration in Fedora deployment --- phase2_gitea_fedora.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/phase2_gitea_fedora.sh b/phase2_gitea_fedora.sh index 36c72eb..3a77611 100755 --- a/phase2_gitea_fedora.sh +++ b/phase2_gitea_fedora.sh @@ -15,6 +15,7 @@ require_vars FEDORA_IP FEDORA_SSH_USER FEDORA_SSH_PORT FEDORA_GITEA_DATA_PATH \ FEDORA_COMPOSE_DIR \ FEDORA_MACVLAN_PARENT FEDORA_MACVLAN_SUBNET FEDORA_MACVLAN_GATEWAY \ FEDORA_MACVLAN_IP_RANGE FEDORA_GITEA_IP \ + UNRAID_GITEA_IP GITEA_DOMAIN \ GITEA_ADMIN_USER GITEA_ADMIN_PASSWORD GITEA_ADMIN_EMAIL \ GITEA_DB_TYPE GITEA_VERSION @@ -72,12 +73,20 @@ else TMPFILE=$(mktemp) GITEA_CONTAINER_IP="${FEDORA_GITEA_IP}" GITEA_NETWORK_NAME="${FEDORA_DOCKER_NETWORK_NAME}" - export DATA_PATH GITEA_CONTAINER_IP GITEA_NETWORK_NAME + # Macvlan containers use Docker's internal DNS (127.0.0.11) which only resolves + # container names. Set explicit DNS to the LAN gateway for external resolution. + GITEA_DNS_SERVER="${FEDORA_MACVLAN_GATEWAY}" + # Map the primary Gitea domain to the Unraid LAN IP so the backup instance + # can reach it for pull mirrors (public DNS may resolve to Cloudflare/CDN). + GITEA_MIRROR_SOURCE_HOST="${GITEA_DOMAIN}" + GITEA_MIRROR_SOURCE_IP="${UNRAID_GITEA_IP}" + export DATA_PATH GITEA_CONTAINER_IP GITEA_NETWORK_NAME \ + GITEA_DNS_SERVER GITEA_MIRROR_SOURCE_HOST GITEA_MIRROR_SOURCE_IP if [[ "$GITEA_DB_TYPE" == "sqlite3" ]]; then # No DB service needed — render template then strip DB + internal network blocks render_template "${SCRIPT_DIR}/templates/docker-compose-gitea.yml.tpl" "$TMPFILE" \ - "\${GITEA_VERSION} \${DATA_PATH} \${GITEA_CONTAINER_IP} \${GITEA_NETWORK_NAME}" + "\${GITEA_VERSION} \${DATA_PATH} \${GITEA_CONTAINER_IP} \${GITEA_NETWORK_NAME} \${GITEA_DNS_SERVER} \${GITEA_MIRROR_SOURCE_HOST} \${GITEA_MIRROR_SOURCE_IP}" strip_template_block "$TMPFILE" "DB_SERVICE_START" "DB_SERVICE_END" strip_template_block "$TMPFILE" "DB_DEPENDS_START" "DB_DEPENDS_END" strip_template_block "$TMPFILE" "INTERNAL_NET_REF_START" "INTERNAL_NET_REF_END" @@ -87,7 +96,7 @@ else # DB container uses an internal bridge network (not exposed to LAN) set_db_vars render_template "${SCRIPT_DIR}/templates/docker-compose-gitea.yml.tpl" "$TMPFILE" \ - "\${GITEA_VERSION} \${DATA_PATH} \${GITEA_CONTAINER_IP} \${GITEA_NETWORK_NAME} \${DB_DOCKER_IMAGE} \${DB_ENV_VARS} \${DB_DATA_DIR} \${DB_HEALTHCHECK}" + "\${GITEA_VERSION} \${DATA_PATH} \${GITEA_CONTAINER_IP} \${GITEA_NETWORK_NAME} \${DB_DOCKER_IMAGE} \${DB_ENV_VARS} \${DB_DATA_DIR} \${DB_HEALTHCHECK} \${GITEA_DNS_SERVER} \${GITEA_MIRROR_SOURCE_HOST} \${GITEA_MIRROR_SOURCE_IP}" fi scp_to FEDORA "$TMPFILE" "${COMPOSE_DIR}/docker-compose.yml"