Всем привет,
Мы уже несколько лет запускаем собственные экземпляры Discourse в OpenShift, и за последние месяцы (примерно с января 2026 года, что примерно совпадает с новым подходом, описанным в Introducing pre-compiled JS assets for self-hosters и Introducing a new build system for plugins), мы наблюдаем следующую ситуацию:
При предварительной компиляции ресурсов на этапе сборки (bundle exec rake assets:precompile:build) эта операция теперь завершается с ошибкой и потребляет более 20 ГБ:
...
gem install prometheus_exporter -v 2.2.0 -i /var/www/discourse/plugins/discourse-prometheus/gems/3.4.7 --no-document --ignore-dependencies --no-user-install
Successfully installed prometheus_exporter-2.2.0
1 gem installed
Plugin name is 'msgraph-polling', but plugin directory is named 'msgraph-poll-discourse-plugin'
[assemble_ember_build] No existing build info file found.
Fetching and extracting https://get.discourse.org/discourse-assets/2026.5.0-latest-03484cbd/production.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 20.1M 100 20.1M 0 0 22.5M 0 --:--:-- --:--:-- --:--:-- 22.5M
Prebuilt assets downloaded and extracted successfully.
[assemble_ember_build] Reusing existing core ember build. All done.
Plugin name is 'msgraph-polling', but plugin directory is named 'msgraph-poll-discourse-plugin'
[Plugin::JsManager] Compiling 49 plugins...
# зависает здесь на долгое время
При анализе потребления памяти мы видим:
Every 1.0s: free -h webapp-test-discourse-689b5fcb4d-fd2dp-debug-b7nn2: Mon May 4 14:15:57 2026
total used free shared buff/cache available
Mem: 28Gi 26Gi 596Mi 524Mi 2.1Gi 1.7Gi
Swap: 0B 0B 0B
Ранее этот процесс выполнялся довольно быстро с умеренным потреблением памяти.
Мы пробовали устанавливать переменные окружения, такие как CI=1 и NODE_OPTIONS="--max-old-space-size=X", но ничего не помогает ограничить это потребление памяти.
Сталкивается ли кто-то с той же проблемой и, если да, как вы её решили?
Большое спасибо!
Исмаэль