Постарался максимально оставить существующую архитектуру, проверял на своём домене - работало.
Первичные настройки для запуска и комментарии:
В папке web/nginx/sites-enabled лежат настройки сайтов, которые будут применены в запущенном контейнере, докер берёт все файлы из этой папки.
Файл init-letsencrypt.sh, поля для редактирования
email="" #Вписать свою почту, на которую будут приходить сообщения
staging=1 # Получение фейковых сертификатов для теста. Если сертификат получен, тогда ставим 0 и переполучаем сертификаты.
domains=(api.oscript.io hub.oscript.io oscript.io) - перечень доменов через пробел, для которых скрипт получит сертификат, должно совпадать с сайтами из пункта 1, иначе будет рассинхрон и nginx упадёт.
Логи пишутся в папки logs/letsencrypt logs/nginx, на первые 3-6 месяцев можно оставить, чтобы смотреть как работает автополучение сертификатов.
Файл web/nginx/config_template является примерным образцом для файлов настроек сайтов, [Sitename] нужно заменить на имя сайта, можно автоматизировать замену bash скриптом, но вопрос в частоте использования.
Постарался максимально оставить существующую архитектуру, проверял на своём домене - работало. Первичные настройки для запуска и комментарии: