Работа началась с приемки проекта. Для этого требовалось разобраться, какие серверы используются, какие сайты на них размещены, как запускаются контейнеры, каким образом выполняется развертывание и как сайты взаимодействуют с внешними системами.
Инфраструктура складывалась постепенно. На одном сервере могло работать большое количество Docker-контейнеров, соответствующих разным сайтам и поколениям приложений. Контейнеры запускались через отдельные docker-compose.yml в каталогах проектов. Для маршрутизации запросов использовался общий reverse proxy, а под отдельные домены выделялись собственные IP-адреса.
Автоматизация развертывания была частичной. Обновление некоторых проектов выполнялось через git pull, запущенный по расписанию. У разработчиков не было единого сценария работы с контейнерами: окружение для них настраивалось индивидуально. Информация о серверах, доступах, каталогах, интеграциях и назначении отдельных ресурсов была распределена между переписками и знаниями конкретных специалистов.
Поэтому перенос нельзя было свести к копированию файлов. Сначала требовалось восстановить фактическую архитектуру, определить зависимости сайтов и понять, какие элементы инфраструктуры действительно используются.