From 838a5ad923ecac9ef1b6d76bf1148562f5bf654c Mon Sep 17 00:00:00 2001 From: lendry Date: Fri, 26 Jun 2026 08:59:44 +0300 Subject: [PATCH] fix install sh --- install.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index 122afc8..d2c4fd8 100644 --- a/install.sh +++ b/install.sh @@ -2372,6 +2372,52 @@ action_renew_ssl() { local ssl_type ssl_type="$(env_get SSL_TYPE none)" + if [[ "$ssl_type" == "none" ]]; then + if [[ "$NON_INTERACTIVE" -eq 1 ]]; then + fail "SSL отключён (SSL_TYPE=none). Сначала настройте домены и SSL: + ./install.sh --configure-domains --intranet \\ + --api-domain api.idpmvk.lpr --frontend-domain sso.idpmvk.lpr --docs-domain docs.idpmvk.lpr \\ + --ssl custom --cert-dir /opt/idp-certs" + fi + + echo "" + warn "SSL сейчас отключён (SSL_TYPE=none)." + echo "" + echo " a) Настроить домены и SSL (рекомендуется) — откроется пункт 2" + echo " b) Установить / обновить свои сертификаты (custom) — домены должны быть уже в .env" + echo " c) Отмена" + echo "" + local renew_choice + read -r -p "Выберите [a/b/c]: " renew_choice + case "$renew_choice" in + a | A) + action_configure_domains + return + ;; + b | B) + ssl_type="custom" + SSL_TYPE="custom" + prompt_custom_cert_settings + [[ -n "$(env_get DOMAIN_API "")" && -n "$(env_get DOMAIN_FRONTEND "")" && -n "$(env_get DOMAIN_DOCS "")" ]] \ + || fail "Домены не заданы. Сначала выполните пункт 2 (Настроить домены) или укажите DOMAIN_API, DOMAIN_FRONTEND, DOMAIN_DOCS в .env" + derive_public_urls "custom" + env_set SSL_TYPE "custom" + env_set USE_NGINX_SSL "true" + env_set SSL_CERT_DIR "${SSL_CERT_DIR}" + env_set SSL_CERT_FULLCHAIN "${SSL_CERT_FULLCHAIN:-}" + env_set SSL_CERT_KEY "${SSL_CERT_KEY:-}" + env_set PUBLIC_API_URL "${PUBLIC_API_URL}" + env_set PUBLIC_FRONTEND_URL "${PUBLIC_FRONTEND_URL}" + env_set PUBLIC_DOCS_URL "${PUBLIC_DOCS_URL}" + env_set PUBLIC_WS_URL "${PUBLIC_WS_URL}" + ;; + *) + log "Отменено" + return 0 + ;; + esac + fi + case "$ssl_type" in letsencrypt) install_certbot @@ -2388,10 +2434,13 @@ action_renew_ssl() { custom) install_custom_certificates --force write_all_nginx_configs "custom" - ok "Свои сертификаты переустановлены из $(env_get SSL_CERT_DIR -)" + if [[ "$(env_get NGINX_MODE docker)" == "host" ]]; then + run_root nginx -t >/dev/null 2>&1 && run_root systemctl reload nginx || warn "Перезагрузите Nginx вручную: sudo systemctl reload nginx" + fi + ok "Свои сертификаты установлены из $(env_get SSL_CERT_DIR -)" ;; none) - fail "SSL отключён (SSL_TYPE=none). Выберите --ssl selfsigned, custom или letsencrypt." + fail "SSL отключён (SSL_TYPE=none). Выберите пункт 2 или: ./install.sh --configure-domains --ssl custom --cert-dir /path" ;; esac } @@ -2449,7 +2498,7 @@ show_menu() { echo "" echo " 1) Полная установка / переустановка стека" echo " 2) Настроить / изменить домены и Nginx + SSL" - echo " 3) Обновить SSL-сертификаты (selfsigned / custom / Let's Encrypt)" + echo " 3) SSL-сертификаты (обновить / включить custom / Let's Encrypt)" echo " 4) Перезапуск / пересборка контейнеров (+ очистка Docker)" echo " 5) Статус сервисов" echo " 6) Удалить конфиги Nginx IdP"