Есть у меня php приложение, деплоится в gitlab ci c помощью docker-compose. Nginx настраивается в Dockerfile, в тот же образ ставится certbot. Проблема в том, что после каждого деплоя приходится заходить в контейнер и запускать там бот ручками. Существует ли вариант как-то это автоматизировать? Я пробовал моунтить /etc/letsencrypt в волюм, но это не особо помогает, так как certbot помимо этого еще и конфиги nginx переписывает.
P.S. покупку отдельного сертификата и прописывание его вручную просьба не предлагать.
Попробуйте посмотреть в сторону команды docker commit. Кажется использовал её, когда надо было сохранить изменения в контейнере и потом запустить контейнер с имеющимися изменениями в другом месте не повторяя всех шагов настройки.
Обычно используется другая архитектура - nginx стоит на сервере и проксирует запросы на docker контейнер(ы).
Соответственно certbot также установливается на сервер и замечательно работает.