fix install sh

This commit is contained in:
lendry
2026-06-26 08:59:44 +03:00
parent 72d6dcc145
commit 838a5ad923

View File

@@ -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"