새 설치 실패

VPS 4코어 4GB RAM 200GB 스토리지. 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) is less than 2048MB. Setting --max-old-space-size=2048 and 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] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js as it exceeds the max of 500KB.
[BABEL] Note: The code generator has deoptimised the styling of /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js as it exceeds the max of 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 * 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]
...[TerserWriter]
I, [2025-03-18T14:58:35.058799 #1]  INFO -- : Building
Environment: production
The setting 'staticAddonTrees' will default to true in the next version of Embroider and can't be turned off. To prepare for this you should set 'staticAddonTrees: true' in your Embroider config.
The setting 'staticAddonTestSupportTrees' will default to true in the next version of Embroider and can't be turned off. To prepare for this you should set 'staticAddonTestSupportTrees: true' in your Embroider config.
building...
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  Command was killed with SIGKILL (Forced termination): 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 레코드에 IP 주소를 "community"로 설정했습니다.

IONOS에는 무료 SSL이 없습니다. 그래서 discourse-setup의 Let’s Encrypt 이메일 항목을 채워 넣었습니다.

이 문제를 해결하는 데 도움이 필요합니다.

메모리 문제일 수 있나요? 스왑이 있나요? 스왑을 4GB 추가할 수 있나요?

가능합니다. 스왑 설정은 없습니다.

4GB 스왑을 추가하는 명령어를 공유해 주실 수 있나요. 그걸로 놀아본 지 좀 됐거든요.

해당 주제를 찾아서 진행 중입니다. 감사합니다

이것은 시간이 너무 오래 걸렸다는 의미일 것 같습니다.

스왑과/또는 램을 추가해 보겠습니다.

다른 분들이 이미 말한 것과 같은 내용을 반복하기 전에 다른 게시물들을 먼저 읽어볼 수 있습니다.

swap를 추가했습니다. 올바르게 빌드된 것 같습니다. 그런데 이제

IONOS에 있는 다른 DNS A 레코드를 비활성화했습니다.

사이트 주소

SMTP 이름을 살펴봐야 할 것 같습니다. Lark 메일 관련 주제에서 게시하겠습니다.

discourse-setup 명령어를 사용할 때, Let’s Encrypt를 사용하려면 app yml 파일에서 무언가를 해야 하나요? 설정 과정에서 메시지용 Let’s Encrypt 이메일을 추가했습니다.

Let’s Encrypt를 사용하려면 app yml 파일에서 무언가를 해야 하나요?

app.yaml 파일에서 letsencrypt 관련 부분을 주석 해제해야 합니다. 어떤 줄을 주석 해제해야 하는지는 파일 안에 명시되어 있습니다.

SMTP 이름을 살펴봐야 할 것 같습니다.

./discourse-doctor를 실행해 보세요. 일반적인 문제를 찾아내고 테스트 이메일을 보내도록 제안합니다.

네, 도메인이 서버에 제대로 연결되지 않는 것 같고, 서버 쪽에 문제가 있는 것 같습니다.


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"로 변경하자 연결이 되었습니다.

도움을 주신 모든 분들께 감사드립니다!

따라서 결론적으로 2가지 문제가 있었습니다.

  • @Ed_S 및 @pfaffman이 언급한 스왑 파일 문제
  • 도메인 이름에 대문자를 사용하지 않아야 한다는 점

공식 설치용 GitHub 저장소의 discourse-setup/app yml 파일에 스왑 파일 생성 지침과 도메인 이름 설정 시 대문자 사용 금지 관련 정보를 추가하는 것을 권장합니다.