build fix

This commit is contained in:
Dmitry 2025-11-22 23:45:50 +03:00
parent 8c32da7484
commit 81ca2be934

View file

@ -62,10 +62,11 @@ else
# Останавливаем наш сервер временно для получения сертификата
sudo systemctl stop mnemo_cards_server 2>/dev/null || true
sleep 5
sleep 3
# Пытаемся получить Let's Encrypt multi-domain сертификат
echo "🔐 Получаем Let's Encrypt multi-domain сертификат..."
CERTBOT_SUCCESS=false
if sudo certbot certonly --standalone \
-d mnemo-cards.online \
-d api.mnemo-cards.online \
@ -74,6 +75,7 @@ else
--cert-name mnemo-cards.online \
--non-interactive --agree-tos --email admin@mnemo-cards.online; then
echo "✅ Let's Encrypt multi-domain сертификат успешно создан!"
CERTBOT_SUCCESS=true
echo "🚀 Запускаем в HTTPS-only режиме"
# Обновляем systemd сервис для HTTPS-only режима (используем общий сертификат)
sudo sed -i 's|ExecStart=$BACKEND_DIR/server.exe.*|ExecStart=$BACKEND_DIR/server.exe --certs /etc/letsencrypt/live/mnemo-cards.online -a 0.0.0.0 -p 8081|' /etc/systemd/system/mnemo_cards_server.service
@ -88,10 +90,24 @@ else
sudo sed -i 's|ExecStart=$BACKEND_DIR/server.exe.*|ExecStart=$BACKEND_DIR/server.exe -a 0.0.0.0 -p 8081|' /etc/systemd/system/mnemo_cards_server.service
fi
# Возвращаем веб-сервера в исходное состояние
# ВАЖНО: Возвращаем веб-сервера СРАЗУ после получения сертификата,
# чтобы сайты были доступны во время остальной части деплоя
echo "🔄 Немедленно возвращаем веб-сервера в работу..."
if [ "$NGINX_STOPPED" = true ]; then
echo "🔄 Возвращаем nginx..."
sudo systemctl start nginx
echo "🔄 Запускаем nginx..."
if sudo nginx -t 2>/dev/null; then
sudo systemctl start nginx
sleep 2
if sudo systemctl is-active --quiet nginx; then
echo "✅ nginx успешно запущен"
else
echo "❌ Ошибка: не удалось запустить nginx!"
sudo systemctl status nginx --no-pager || true
fi
else
echo "⚠️ Ошибка в конфигурации nginx, но пытаемся запустить..."
sudo systemctl start nginx || true
fi
fi
if [ "$APACHE_STOPPED" = true ]; then
echo "🔄 Возвращаем apache2..."