Вызывать AdminDashboardGeneralData.refresh_stats при загрузке?

Спасибо. Всё это имеет смысл.

Нет! Один из ключевых принципов заключается в том, что всё работает точно так же, как при стандартной установке. Зависимостей, специфичных для pfaffmanager, нет вообще. Если кто-то увидит здесь, что нужно, например, выполнить пересборку, добавить плагин или переменную окружения в app.yml, pfaffmanager сделает это точно так же, как если бы пользователь знал, что такое ssh, и мог вводить команды. При установке используется discourse-setup, при обновлении — ./launcher rebuild (или bootstrap, destroy, start для конфигураций с двумя контейнерами). Если версия Postgres устарела, выполняются процедуры из статьи Обновление PostgreSQL 13, и так далее. Несколько раз меня соблазняло создать дополнительный плагин поддержки, но я в основном хочу этого избежать. У меня уже хватает дел с Ansible, Rails и Ember — добавлять ещё один компонент не очень привлекательно.

Однако тот момент с runner оказался очень полезным. Я просто запущу это после перезапуска только что собранного контейнера:

docker exec web_only bash -c 'rails runner AdminDashboardGeneralData.refresh_stats'

Огромное спасибо. Это было именно то, что мне нужно.