Ворклог по задаче "Локально развернуть исходный Ruby-сайт"

5 сент. 2026 г., 19:23:21

Локальный запуск legacy Ruby-сайта выполнен

Старый bizneshelper.ru успешно запущен локально в Docker.

Подтверждённая конфигурация legacy-среды

  • Ruby on Rails 3.2.21.
  • На исходном сервере использовался Ruby 2.2.5 через Passenger.
  • Для контейнера использован Ruby 2.2.10 как совместимая версия той же ветки.
  • Bundler 1.15.4.
  • MySQL используется как внешняя уже поднятая служба.
  • Сайт запускается в production-окружении.

Что было сделано

  • Подготовлен Dockerfile для старого Ruby-стека на базе Ruby 2.2.10.
  • Для Debian Jessie переключены apt-источники на архивные репозитории, так как штатные репозитории этой версии больше недоступны.
  • Установлены необходимые системные зависимости для сборки legacy-гемов и работы MySQL/libv8.
  • Сервис bizneshelper добавлен в docker-compose и подключён к существующей MySQL-службе через переменные окружения.
  • Настроен отдельный локальный порт для доступа к приложению.
  • В database.yml добавлена поддержка подключения к MySQL по host вместо локального Unix socket.
  • Версия ckeditor понижена до совместимой с Rails 3.2 ветки.
  • Подтверждено, что наличие Rails 5-ориентированных каталогов app/channels и app/jobs не блокирует запуск при текущей production-конфигурации с отключённой агрессивной загрузкой классов.

Обнаруженные особенности и риски

  1. Debian Jessie требует использования архивных репозиториев и специальных параметров установки пакетов.
  2. Часть legacy-гемов несовместима с современными версиями библиотек и требует фиксации старых версий.
  3. mysql2 старой ветки чувствителен к окружению и способу подключения к MySQL.
  4. ckeditor в более новой версии использует API Rails 4+ и поэтому должен быть зафиксирован на совместимой версии.
  5. В исходном проекте присутствуют артефакты более новых Rails-версий, что указывает на исторические изменения проекта и требует осторожности при автоматической миграции кода.

Результат

Legacy-сайт воспроизводимо запускается локально и доступен как эталон для дальнейшей инвентаризации, сравнения поведения и миграции на haih-cms.

Что проверить далее

  • Полноту отображения ключевых страниц и форм.
  • Работу поиска с Solr.
  • Корректность загрузки legacy-медиа.
  • Поведение админки.
  • Фактические маршруты, friendly_id и редиректы.
  • Соответствие локальной базы исходной структуре данных.

В открытом worklog не фиксируются пароли, локальные абсолютные пути и иные чувствительные параметры среды.

05.09.2026

Локальная копия исходного Ruby-сайта поднята и используется как резервная эталонная среда для сверки при миграции.