安装失败

VPS 4 核 4G 200G。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) 小于 2048MB。正在设置 --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 的样式进行了优化,因为它超过了 500KB 的最大值。
[BABEL] 注意:代码生成器已对 /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js 的样式进行了优化,因为它超过了 500KB 的最大值。
...[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 * 300 秒内发生 100 次更改。正在保存...
109:M 18 Mar 2025 14:55:57.067 * 后台保存由进程 ID 758 启动
758:C 18 Mar 2025 14:55:57.087 * DB 已保存到磁盘
758:C 18 Mar 2025 14:55:57.088 * RDB 的写时复制:当前 0 MB,峰值 0 MB,平均 0 MB
109:M 18 Mar 2025 14:55:57.168 * 后台保存成功终止
...[@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
Embroider 的下一个版本中,设置 'staticAddonTrees' 将默认为 true,并且无法关闭。为了做好准备,您应该在 Embroider 配置中设置 'staticAddonTrees: true'。
Embroider 的下一个版本中,设置 'staticAddonTestSupportTrees' 将默认为 true,并且无法关闭。为了做好准备,您应该在 Embroider 配置中设置 'staticAddonTestSupportTrees: true'。
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 的电子邮件条目。

需要帮助解决这个问题。

1 个赞

是内存问题吗?您有交换空间吗?可以添加 4G 交换空间吗?

3 个赞

这是可能的。没有交换设置。

您能否分享一下添加 4g 交换的命令。我有一段时间没玩过那个了。

找到了这个主题,正在处理。谢谢

3 个赞

我认为这意味着它花费的时间太长了。

我会尝试添加交换空间和/或内存。

我可以尝试阅读其他帖子,然后再说和别人一样的话。

4 个赞

已添加交换。相信它已正确构建。现在我遇到了

我禁用了 IONOS 的其他 DNS a 记录。

网站地址

看起来我可能需要检查一下 SMTP 名称。我将在 Lark Mail 的主题中发帖。

使用 discourse-setup 命令时。我是否需要对 app.yml 做任何操作才能使用 Let’s Encrypt?在设置过程中添加了 Let’s Encrypt 电子邮件用于发送消息。

“我需要对 app yml 做什么才能使用 Let’s Encrypt 吗?”
“您需要取消注释 app.yaml 中的 letsencrypt 部分。文件中写有您需要取消注释的行。”

“看起来我可能需要研究一下 SMTP 名称。”
“运行 ./discourse-doctor,它会尝试查找常见问题并提供发送测试电子邮件的选项。”

2 个赞

Yeahran,看起来域名没有正确连接到服务器,可能是服务器方面的问题?


Found containers/app.yml
==================== YML SETTINGS ====================
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

==================== DOCKER INFO ====================
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 container app is running


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at community.NSFirehub.ca: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
RAM (MB): 4105

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

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       193G   14G  180G   7% /

==================== DISK INFORMATION ====================
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

Partition table entries are not in disk order.

==================== END DISK INFORMATION ====================

Let’s Encrypt 的行已通过 discourse-setup(已验证) 取消注释

成功。问题出在域名上。我之前用的是“community.NSFirehub.ca”,去掉大写字母后就连接上了。

感谢大家的帮助!

所以总结起来有两个问题:

  • @Ed_S@pfaffman 所提到的,交换文件(Swapfile)。
  • 域名设置中不能使用大写字母。

我建议在 discourse-setup/app.yml 的官方安装 GitHub 中添加创建交换文件的说明以及关于域名设置中不能使用大写字母的信息。

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.