В локальной сети работает полупрогульный сервер базы данных PostgreSQL, и я хотел бы использовать его также для Discourse. Причина в том, что веб-сервер испытывает гораздо большую нагрузку, чем упомянутый выше сервер базы данных, у которого ещё много неиспользуемых ресурсов и потенциала. Перенаправление PostgreSQL для Discourse оказалось довольно простым: достаточно было следовать нескольким темам на этом форуме (пример). Однако при попытке сделать то же самое для Redis:
Вам действительно нужно только это. Можете ли вы показать полную ошибку пересборки? Скорее всего, вам потребуется пароль, обязательное TLS-шифрование или домен недоступен. Это должно быть ясно из лога пересборки.
Вот, по сути, всё. Выше в логе есть несколько предупреждений:
warning " > @mixer/parallel-prettier@2.0.3" has unmet peer dependency "prettier@^2.0.0".
warning "eslint-config-discourse > eslint-plugin-lodash@7.1.0" has unmet peer dependency "lodash@>=4".
warning " > babel-plugin-debug-macros@0.4.0-pre1" has unmet peer dependency "@babel/core@^7.0.0".
warning "workspace-aggregator-3fff36d0-9fd8-4d1a-ac4c-d10694a59627 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-3fff36d0-9fd8-4d1a-ac4c-d10694a59627 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-3fff36d0-9fd8-4d1a-ac4c-d10694a59627 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
Но они появляются даже при пересборке с Redis в контейнере.
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 581 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
2533af220cc44d8c77bc12c17ed7635dee49ba7f280[…]
ОБНОВЛЕНИЕ:
Нашёл строки, помеченные как INFO, а не как ошибки, и, думаю, именно в этом причина:
I, [2023-04-06T18:44:02.460059 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2023-04-06T18:44:04.581741 #1] INFO -- : docker_manager is already at latest compatible version
I, [2023-04-06T18:44:04.581929 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
Discourse requires Redis 6.2.0 or up
I, [2023-04-06T18:44:05.937604 #1] INFO -- :
А довольно свежий Ubuntu 22.04.2 LTS предоставляет:
Да, я делаю именно это, спасибо. Жаль только, что это сообщение было помечено как ERROR, а не как INFO (среди множества других INFO), и процесс сразу остановился. Я потратил много времени на отладку самых разных вещей, не обратив внимания на эту строку.
Redis не потребляет много ресурсов, и вы не можете использовать его совместно с несколькими серверами. Я бы просто использовал тот, что уже работал для Discourse.