привет.
Пойдем не по порядку.
Первое – БД
Для чего выносят на отдельный сервер? Делается это, как правило, когда первоначальный сервер не тянет из-за большого количества запросов к БД. У вас сейчас такая ситуация? Да – выносить на отдельный сервер. Нет – оставить сервера в покое.
VPN – тоже оставьте в покое. Если надо выносить БД в отдельный сервер, то тогда иногда имеет смысл закрыть внешку и оставить только VPN.
Docker – докер на проде? У вас точно такой серьезный ресурс, что нужно поднимать в день по несколько VDS и нужен докер? Когда на локале докер еще можно понять – удобство и без мусора. Но на проде? Или есть лишние деньги/ресурсы?
Похоже, что докер тоже стоит оставить только на локале и в покое.
Секретные ключи – это вообще никогда нельзя хранить в репозитории. Иногда можно использовать компромисс – зашифрованные файлы. Но тут нельзя быть в покое и следует всё проверить несколько раз.
минутка занимательной теории:
Как работает деплой? (пример из жизни в очень общих чертах для понимания принципиальной схемы)
Разработчик отправляет пуш в гит. После этого гит кидает оповещение в CI&CD-сервис.
CI&CD-сервис запускает свой процесс, согласно описанному в запушеной ветке протоколу (конфиг сервиса).
Обычно, порядок действий в CI&CD-сервисе такой:
– поднимается контейнер с ОС
– в контейнере разворачивается репо
– подтягиваются все зависимости, настраивается окружение, поднимается база с сидами.
– накатываеются миграции
– прогоняются тесты
Далее запускается скрипт деплоя:
– репо заливается на сервер, например, с помощью rsync или другого инструмента (в этом месте мы используем зашифрованные приватные ключи для доступа к конечному серверу)
– на сервере запускается рутина обновления (например, накатить миграции, обновить конфиги, перезагрузить сервисы)
По окончанию приходит уведомление о статусе. Например в слак.
Все счастливы, разработчик отмечает успех (или устраняет результаты безуспешных тестов).
P.S. Если у вас возникают эти вопросы, то, похоже, вы не DevOps'или раньше.
И это не предмет для обиды или оскорбления, а, наоборот, предмет для размышления над сложностью решений. Сейчас создается впечатление, что вы хотите стрельнуть себе в колено, причем из дробовика.