Ошибка новой установки

VPS 4 ядра 4 ГБ 200 ГБ. Ubuntu 24 LTS
Регистрация домена: IONOS

[2025-03-18T14:54:01.632117 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile:build'
Node.js heap_size_limit (2005.75) меньше 2048 МБ. Установлено --max-old-space-size=2048 и CHEAP_SOURCE_MAPS=1
...[ConfigLoader]
...[Babel: discourse-widget-hbs > applyPatches]
...[Babel: @embroider/macros > applyPatches]
...[Babel: ember-tracked-storage-polyfill > applyPatches]
...[Babel: pretty-text > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: ember-source > applyPatches]
[BABEL] Примечание: генератор кода оптимизировал стилизацию /var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js, так как она превышает максимум 500 КБ.
[BABEL] Примечание: генератор кода оптимизировал стилизацию /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js, так как она превышает максимум 500 КБ.
...[Babel: @glimmer/component > applyPatches]
...[Babel: @ember/test-waiters > applyPatches]
...[Babel: dialog-holder > applyPatches]
...[Babel: ember-buffered-proxy > applyPatches]
...[Babel: float-kit > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
2025-03-18 14:55:50.590 UTC [51] LOG:  checkpoint starting: time
2025-03-18 14:55:55.247 UTC [51] LOG:  checkpoint complete: wrote 48 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=4.612 s, sync=0.016 s, total=4.657 s; sync files=38, longest=0.004 s, average=0.001 s; distance=202 kB, estimate=202 kB
...[@embroider/webpack]
109:M 18 Mar 2025 14:55:57.065 * 100 changes in 300 seconds. Saving...
109:M 18 Mar 2025 14:55:57.067 * Background saving started by pid 758
758:C 18 Mar 2025 14:55:57.087 * DB saved on disk
758:C 18 Mar 2025 14:55:57.088 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
109:M 18 Mar 2025 14:55:57.168 * Background saving terminated with success
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[SourceMapConcat]
...[Babel: admin > applyPatches]
...[Babel: admin > applyPatches]
...[Babel: admin > applyPatches]
...[SourceMapConcat]
...[TerserWriter]
...[TerserWriter]
...[Babel: discourse > applyPatches]
...[SourceMapConcat]
...[Babel: discourse > applyPatches]
...[SourceMapConcat]
...[Babel: discourse > applyPatches]
...[TerserWriter]
...[Babel: discourse-plugins > applyPatches]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[Babel: discourse-plugins > applyPatches]
...[SourceMapConcat]
...[TerserWriter]
I, [2025-03-18T14:58:35.058799 #1]  INFO -- : Building
Environment: production
Параметр 'staticAddonTrees' по умолчанию будет установлен в true в следующей версии Embroider, и его нельзя будет отключить. Чтобы подготовиться к этому, установите 'staticAddonTrees: true' в конфигурации Embroider.
Параметр 'staticAddonTestSupportTrees' по умолчанию будет установлен в true в следующей версии Embroider, и его нельзя будет отключить. Чтобы подготовиться к этому, установите 'staticAddonTestSupportTrees: true' в конфигурации Embroider.
building...
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Команда была завершена с сигналом SIGKILL (принудительное завершение): ember build -prod

I, [2025-03-18T14:58:35.082462 #1]  INFO -- : Terminating async processes
I, [2025-03-18T14:58:35.082680 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 42
I, [2025-03-18T14:58:35.082935 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 109
2025-03-18 14:58:35.083 UTC [42] LOG:  received fast shutdown request
109:signal-handler (1742309915) Received SIGTERM scheduling shutdown...
2025-03-18 14:58:35.092 UTC [42] LOG:  aborting any active transactions
2025-03-18 14:58:35.101 UTC [42] LOG:  background worker "logical replication launcher" (PID 56) exited with exit code 1
2025-03-18 14:58:35.108 UTC [51] LOG:  shutting down
2025-03-18 14:58:35.113 UTC [51] LOG:  checkpoint starting: shutdown immediate
2025-03-18 14:58:35.137 UTC [51] LOG:  checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.009 s, sync=0.001 s, total=0.029 s; sync files=0, longest=0.000 s, average=0.000 s; distance=0 kB, estimate=182 kB
109:M 18 Mar 2025 14:58:35.150 # User requested shutdown...
109:M 18 Mar 2025 14:58:35.151 * Saving the final RDB snapshot before exiting.
109:M 18 Mar 2025 14:58:35.166 * DB saved on disk
109:M 18 Mar 2025 14:58:35.167 # Redis is now ready to exit, bye bye...
2025-03-18 14:58:35.174 UTC [42] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile:build' failed with return #<Process::Status: pid 696 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"build", "hook"=>"assets_precompile_build", "cmd"=>["su discourse -c 'bundle exec rake assets:precompile:build'"]}
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.

Установлен стандартный метод установки. Настроен DNS домена: запись типа A для имени “community” с IP-адресом.

У IONOS нет бесплатного SSL. Поэтому в настройках discourse-setup в поле Let’s Encrypt email была введена соответствующая запись.

Нужна помощь в выяснении причины проблемы.

Может, проблема в памяти? У вас есть файл подкачки? Можете добавить 4 ГБ подкачки?

Это возможно. Настройка подкачки отсутствует.

Можете поделиться командой для добавления 4 ГБ подкачки? Прошло уже много времени с тех пор, как я этим занимался.

Нашел эту тему, работаю над этим. Спасибо.

По-моему, это означает, что процесс занял слишком много времени.

Попробуйте добавить swap-память и/или оперативную память.

Может, стоит прочитать другие посты, прежде чем повторять то, что уже сказали все остальные.

Добавлен своп. Полагаю, сборка прошла успешно. Теперь у меня возникла проблема:

Я отключил другую DNS-запись типа A, которую предоставляет IONOS.

Адрес сайта:

Похоже, мне нужно разобраться с именем SMTP. Я опубликую сообщение в теме, посвящённой Lark mail.

При использовании команды discourse-setup: нужно ли что-то делать с файлом app.yml для использования Let’s Encrypt? Во время настройки я указал email для уведомлений Let’s Encrypt.

Нужно ли что-то делать с файлом app.yml для использования Let’s Encrypt?

Вам нужно раскомментировать строки, связанные с Let’s Encrypt, в файле app.yaml. В самом файле указано, какие именно строки нужно раскомментировать.

Похоже, мне стоит разобраться с именем SMTP.

Запустите ./discourse-doctor. Он попытается найти распространённые проблемы и предложит отправить вам тестовое электронное письмо.

Да, похоже, что домен не подключается к серверу должным образом, и, возможно, проблема на стороне сервера?


Найдено containers/app.yml

==================== НАСТРОЙКИ YML ====================
DISCOURSE_HOSTNAME=community.NSFirehub.ca
SMTP_ADDRESS=smtp.larksuite.com
DEVELOPER_EMAILS=redacted
SMTP_PASSWORD=redacted
SMTP_PORT=587
SMTP_USER_NAME=redacted
LETSENCRYPT_ACCOUNT_EMAIL=redacted

==================== ИНФОРМАЦИЯ O DOCKER ====================
DOCKER VERSION: Docker version 26.1.3, build 26.1.3-0ubuntu1~24.04.1

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE                 COMMAND        CREATED         STATUS         PORTS                                                                      NAMES
186bfb732aa9   local_discourse/app   "/sbin/boot"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

186bfb732aa9   local_discourse/app   "/sbin/boot"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

Контейнер Discourse app запущен


==================== ПЛАГИНЫ ====================
          - git clone https://github.com/discourse/docker_manager.git

Необнаружено неофициальных плагинов.

См. https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb для официального списка.

========================================
Версия Discourse на community.NSFirehub.ca: НЕ НАЙДЕНА
Версия Discourse на localhost: НЕ НАЙДЕНА


==================== ИНФОРМАЦИЯ О ПАМЯТИ ====================
RAM (MB): 4105

               total        used        free      shared  buff/cache   available
Mem:            3915        1857         553          54        1849        2057
Swap:           4095          86        4009

==================== ПРОВЕРКА СВОБОДНОГО МЕСТА НА ДИСКЕ ====================
---------- Место на диске ОС ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       193G   14G  180G   7% /

==================== ИНФОРМАЦИЯ О ДИСКЕ ====================
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2CC9EFA8-F404-47D6-804F-06B18D2960CC

Device       Start       End   Sectors  Size Type
/dev/sda1  2099200 419430366 417331167  199G Linux filesystem
/dev/sda14    2048     10239      8192    4M BIOS boot
/dev/sda15   10240    227327    217088  106M EFI System
/dev/sda16  227328   2097152   1869825  913M Linux extended boot

Записи таблицы разделов не расположены в порядке на диске.

==================== КОНЕЦ ИНФОРМАЦИИ О ДИСКЕ ====================

Строки Let’s Encrypt были раскомментированы с помощью discourse-setup (подтверждено)

Успех. Проблема заключалась в доменном имени. У меня было “community.NSFirehub.ca”; после удаления заглавных букв соединение установилось.

Спасибо всем за помощь!

Итак, в итоге было две проблемы:

  • Файл подкачки, как упомянули @Ed_S и @pfaffman;
  • Отсутствие заглавных букв в доменном имени.

Рекомендую добавить инструкции по созданию файла подкачки и информацию об отсутствии заглавных букв в доменном имени в настройках discourse-setup/app.yml на официальном репозитории GitHub для установки.