Как развернуть вторичный / резервный Discourse?

Привет, ребята.
Как развернуть вторичный/резервный Discourse?
Я думал, что это довольно распространённая тема, но не смог ничего по этому поводу найти.

Такой резервный Discourse, очевидно, по моему замыслу и при попытке настроить его именно так, должен работать на узле-слейве/узлах только для чтения, с доступом только для чтения как к Redis, так и к pgSQL. Однако Discourse не запускается с ошибкой:

Redis::CommandError: ERR Error running script (call to f_bcec1d9b3bbcfb089dc0b7316771be9f011872b6): @user_script:8: @user_script: 8: -READONLY You can’t write against a read only replica.

даже при установке DISCOURSE_SKIP_BOOTSTRAP=yes

Как вы это делаете? Всё это в контексте контейнеров — возможно ли иметь такой резервный Discourse — тем способом, который я пытаюсь использовать, или любым другим подходом — например, настроить отказоустойчивую (HA) конфигурацию?

Если вы хотите обеспечить высокую доступность (HA), то нужно настроить репликацию PostgreSQL, а возможно, и Redis, хотя для Redis не составит труда просто запустить новый экземпляр.

В других местах есть руководства по настройке репликации PostgreSQL. Либо вы можете поручить это RDS.

Затем вам нужно будет настроить два контейнера web_only (переход от одиночного контейнера к отдельным контейнерам для веб-части и данных).

Далее потребуется использовать HAProxy или аналогичное решение для обработки переключения.

Это уже выходит за рамки помощи, которую можно получить здесь, если только вы не застряли именно на части, связанной с Discourse.

Насколько я понимаю, не существует официальных технологий, не являющихся сторонними, для реализации многомастерской архитектуры PostgreSQL, и это в ещё большей степени относится к Redis.

Действительно ли невозможно указать Discourse о такой среде и попросить его не обращать на это внимания или игнорировать это?
Если это невозможно, и @devel прочитает это, то я предлагаю — думаю, многие оценят — «улучшить» Discourse таким образом, чтобы он выполнял все необходимые проверки, но не завершал работу с ошибкой, а запускался и работал в такой среде с данными только для чтения.