@@ -1,6 +1,8 @@
# cert_renew_restart.py
import subprocess
import shutil
from pathlib import Path
from common import *
def generate_mkcert_command ( ) :
""" Генерирует команду для mkcert с указанием всех доменов """
@@ -53,27 +55,11 @@ def copy_and_rename_certificates():
print ( f " Сертификаты скопированы в { wsl_certs_path } " )
return True
def run_docker_command ( cmd ) :
""" Выполняет команду Docker и возвращает результат """
try :
result = subprocess . run ( cmd , shell = True , capture_output = True , text = True )
if result . returncode != 0 :
print ( f " Ошибка выполнения команды: { cmd } " )
print ( f " Ошибка: { result . stderr } " )
return False
return True
except Exception as e :
print ( f " Ошибка выполнения команды: { e } " )
return False
def main ( ) :
print ( " Обновление сертификатов и перезапуск сервисов... " )
# Получаем имя директории проект а ( предполагаем, что это "network")
project_name = " network "
# Генерируем конфигурационный файл dnsmasq
generate_dnsmasq_config ( )
# Настройк а проекта
setup_ project( )
# Выводим команду для генерации сертификатов
mkcert_cmd = generate_mkcert_command ( )
@@ -90,14 +76,6 @@ def main():
print ( " Н е удалось скопировать сертификаты" )
sys . exit ( 1 )
# Переходим в директорию проекта
project_path = Path . home ( ) / " projects " / " docker " / project_name
if not project_path . exists ( ) :
print ( f " Директория проекта не найдена: { project_path } " )
sys . exit ( 1 )
os . chdir ( project_path )
# Перезапускаем nginx-proxy для загрузки новых сертификатов
print ( " Перезапуск nginx-proxy... " )
if not run_docker_command ( " docker-compose restart nginx-proxy " ) :