Варианты или рекомендации по настройке локальной/тестовой среды для самостоятельного хостинга?

После некоторых исследований наша технологическая кооперативная организация, с которой я работаю, предложила следующие варианты для локальных/тестовых сред с самостоятельным хостингом. Возможно, нам придётся принять неизбежное и удвоить расходы на хостинг* (по мере необходимости), но мы подумали, что будет полезно узнать, есть ли у кого-то советы по лучшим практикам или рекомендации по альтернативам?

*Мы — небольшая некоммерческая организация, и наш хостинг находится в Великобритании, поэтому расходы не являются незначительными.

— — —

ВАРИАНТЫ:

1. Локальная настройка

Плюсы:

  • Максимальная безопасность и изоляция — можно изменять любые плагины, темы или исходный код Discourse.

Минусы:

  • Производительность довольно низкая: по умолчанию при каждой перезагрузке ПК выполняется docker image pull, необходимо заново запускать bundle install (загрузка и сборка из исходников множества пакетов Ruby), а на macOS всё работает в медленной виртуальной машине из-за отсутствия нативной поддержки контейнеров.
  • Требуется ручное исправление кода Discourse для работы плагина WP-discourse (требуется дополнительное исследование, чтобы понять, как именно применить это исправление).
  • Синхронизация с рабочей средой потребует доработки инструментов, загрузка данных с рабочей среды может работать ненадёжно или вообще не работать.

Оценка: 4–6 часов на настройку.

2. Тестовый сервер

Плюсы:

  • Упрощает начало работы для новых участников, не требуется настройка.
  • Относительно легко поддерживать ту же версию, плагины и т. д., что и в основной среде.
  • Синхронизация «может» сводиться к простому восстановлению резервной копии из рабочей среды.

Минусы:

  • Высокие постоянные расходы.

Оценка: 1–2 часа на настройку + расходы на хостинг.

3. (Найти способ безопасно) тестирование на рабочей среде

Плюсы:

  • Всегда тестируется именно та версия Discourse, те же плагины и темы, что и в рабочей среде.

Минусы:

  • Необходимо найти способ избежать рассылки пользователям уведомлений «новое сообщение!» или риска того, что при ошибке пользователи будут завалены уведомлениями. Небольшой риск для данных, возможно, потребуется восстановление из резервной копии.

Оценка: 1–2 часа на настройку.

Я бы рекомендовал разместить тестовую среду в облаке на отдельном экземпляре. Тестирование на рабочем сайте не является оптимальным решением, и оно будет очень близким к продакшену. Размещение локально возможно, но это создаст множество ненужных проблем с минимальной или отсутствующей выгодой, кроме, возможно, экономии нескольких долларов, которые вы потратите на электроэнергию.