From 093b5a9eea906b872d9eadba3900497f0039200a Mon Sep 17 00:00:00 2001 From: boban Date: Sun, 26 Apr 2026 10:58:06 +0200 Subject: [PATCH] Fix: Update migriert REVERB .env-Werte automatisch auf Domain-Basis Co-Authored-By: Claude Sonnet 4.6 --- scripts/update.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/scripts/update.sh b/scripts/update.sh index a266423..01df89d 100644 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -351,4 +351,55 @@ write_version_files "$NEW_VER" "$NEW_REV" echo "[✓] Update abgeschlossen: ${OLD_VER} → ${NEW_VER} (${OLD_REV:0:7} → ${NEW_REV:0:7})" +# -------- .env: REVERB-Werte auf Domain-Basis normalisieren ------------------- +migrate_env_reverb() { + local env_file="${APP_DIR}/.env" + [ -f "${env_file}" ] || return 0 + + # APP_HOST auslesen (authoritative Domain) + local app_host + app_host=$(grep '^APP_HOST=' "${env_file}" | head -1 | cut -d= -f2- | tr -d '"' | tr -d "'") + [ -z "${app_host}" ] && return 0 + + # Nur migrieren wenn VITE_REVERB_HOST nicht auf app_host zeigt + local current_vite_host + current_vite_host=$(grep '^VITE_REVERB_HOST=' "${env_file}" | head -1 | cut -d= -f2-) + if [ "${current_vite_host}" = "\${REVERB_HOST}" ] || [ "${current_vite_host}" = "${app_host}" ]; then + return 0 # bereits korrekt + fi + + echo "[i] .env: REVERB-Werte werden auf Domain '${app_host}' aktualisiert …" + + local scheme="http" port="80" + [ -f "/etc/letsencrypt/live/${app_host}/fullchain.pem" ] && scheme="https" && port="443" + + _uenv() { + local k="$1" v="$2" + if grep -q "^${k}=" "${env_file}"; then + sed -i "s|^${k}=.*|${k}=${v}|" "${env_file}" + else + echo "${k}=${v}" >> "${env_file}" + fi + } + + _uenv "REVERB_HOST" "\${APP_HOST}" + _uenv "REVERB_PORT" "${port}" + _uenv "REVERB_SCHEME" "${scheme}" + _uenv "REVERB_PATH" "/ws" + _uenv "REVERB_SERVER_HOST" "127.0.0.1" + _uenv "REVERB_SERVER_PORT" "8080" + _uenv "REVERB_SERVER_SCHEME" "http" + _uenv "REVERB_SERVER_PATH" "" + _uenv "VITE_REVERB_HOST" "\${REVERB_HOST}" + _uenv "VITE_REVERB_PORT" "\${REVERB_PORT}" + _uenv "VITE_REVERB_SCHEME" "\${REVERB_SCHEME}" + _uenv "VITE_REVERB_PATH" "\${REVERB_PATH}" + + # Assets neu bauen mit den korrekten Werten + frontend_build_quiet || true + as_app "cd ${APP_DIR} && php artisan optimize:clear || true" + echo "[✓] REVERB .env migriert + Assets neu gebaut." +} +migrate_env_reverb + ensure_system \ No newline at end of file