잘못된 GitHub 저장소 추가 후 Discourse 재구성

잘못된 GitHub 저장소를 app.yml 파일에 추가한 후 Discourse 사이트에서 문제가 발생하고 있습니다. ./launcher rebuild app을 실행했을 때 프로세스가 실패했으며, 현재 사이트가 다시 빌드되지 않습니다. 불행히도 백업은 있지만 복원 과정에서 실패합니다. 아래는 오류 로그 전체를 포함한 문제의 세부 사항입니다.

수행한 조치:

  1. 이 게시글의 안내에 따라 Discourse 설치 환경에 DeepSeek LLM을 추가하려고 시도했습니다.
  2. app.yml 파일에 저장소 URL https://github.com/deepseek-ai/DeepSeek-LLM을 추가했습니다.
  3. ./launcher rebuild app을 실행했으나 실패하여 사이트가 작동하지 않게 되었습니다.

전체 오류 로그:

plaintext

CopyEdit

(See full trace by running task with --trace)
I, [2025-01-21T02:32:16.599723 #1]  INFO -- : gem install multipart-post -v 2.4.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed multipart-post-2.4.0
1 gem installed
gem install faraday-multipart -v 1.0.4 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed faraday-multipart-1.0.4
1 gem installed
gem install event_stream_parser -v 1.0.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed event_stream_parser-1.0.0
1 gem installed
gem install ruby-openai -v 7.0.0 -i /var/www/discourse/plugins/discourse-ai-topic-summary/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed ruby-openai-7.0.0
1 gem installed
gem install tokenizers -v 0.4.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed tokenizers-0.4.4-x86_64-linux
1 gem installed
gem install tiktoken_ruby -v 0.0.9 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed tiktoken_ruby-0.0.9-x86_64-linux
1 gem installed
gem install ed25519 -v 1.2.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Building native extensions. This could take a while...
Successfully installed ed25519-1.2.4
1 gem installed
... (more gem installation logs) ...
I, [2025-01-21T02:32:16.600035 #1]  INFO -- : Terminating async processes
I, [2025-01-21T02:32:16.600051 #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/13/bin/postmaster -D /etc/postgresql/13/main pid: 39
I, [2025-01-21T02:32:16.600103 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 107
2025-01-21 02:32:16.600 UTC [39] LOG:  received fast shutdown request
107:signal-handler (1737426736) Received SIGTERM scheduling shutdown...
2025-01-21 02:32:16.602 UTC [39] LOG:  aborting any active transactions
2025-01-21 02:32:16.604 UTC [39] LOG:  background worker "logical replication launcher" (PID 54) exited with exit code 1
2025-01-21 02:32:16.605 UTC [49] LOG:  shutting down
107:M 21 Jan 2025 02:32:16.612 # User requested shutdown...
107:M 21 Jan 2025 02:32:16.612 * Saving the final RDB snapshot before exiting.
2025-01-21 02:32:16.634 UTC [39] LOG:  database system is shut down
107:M 21 Jan 2025 02:32:16.667 * DB saved on disk
107:M 21 Jan 2025 02:32:16.667 # Redis is now ready to exit, bye bye...
> FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 837 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"=>"migrate", "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.

어려움:

  • 백업에서 사이트를 복원할 수 없습니다.
  • 재빌드가 일관되게 실패하여 사이트가 작동하지 않는 상태입니다.

도움 요청:

  1. rebuild app 실행으로 인해 잘못된 플러그인이나 유사한 문제가 생성되었을 수 있는데, 이 문제들을 어떻게 접근해야 할까요?
  2. 수동 복구 절차가 있을까요?
  3. 현재 상태에서 사이트를 안전하게 재빌드하는 방법에 대한 제안이 있을까요?

호스팅된 Discourse 인스턴스에 가입하여 백업을 업로드했는데, 파일은 정상적으로 업로드되었음에도 불구하고 복원 옵션이 표시되지 않습니다.

진행 방법에 대한 조언이나 안내를 크게 감사히 생각합니다. 추가 정보가 필요하면 알려주세요!

플러그인을 제거해도 재빌드가 여전히 실패하나요?

또한, 해당 저장소는 플러그인이 아닙니다. Deepseek의 소스 코드입니다. Sam이 말한 것은 그것을 플러그인으로 만들어 보라는 뜻이었던 것 같습니다.

그리고 수동 복구 단계는 ./launcher start app입니다 — 마지막 살아 있는 컨테이너가 파기되지 않은 경우 말이죠. 그리고 그 후 해당 리포지토리를 app.yml에서 제거하고 다시 빌드해야 합니다.

위 내용이 실패한 부분인가요? 어떤 마이그레이션이 실패하는지 보여주는 위쪽 부분도 포함해야 합니다.

제 추측으로는 여전히 손상된 플러그인이 있거나 yml 파일에 포맷 오류가 있는 것 같지만, 제공된 정보만으로는 판단할 수 없습니다.

백업을 복원하려면 team@discourse.org으로 이메일을 보내 복원을 요청해야 합니다.

즉시 제거하세요.

https://github.com/deepseek-ai/DeepSeek-LLM은 Discourse 플러그인이 아니므로 app.yml 파일에 절대 포함되어서는 안 됩니다.

여러분과 여러분의 피드백에 감사드립니다. 이 문제가 어떻게 해결되었는지 설명하기는 어렵지만, 지금은 정상적으로 작동하는 것 같습니다. app.yml에 플러그인이 아닌 GitHub 저장소를 잘못 넣어 디스코르스가 크래시 난 걸 알아차렸을 때, 제가 처음 한 일은 해당 줄을 삭제하고 재빌드를 시도한 것이었는데, 성공하지 못했습니다. 서버를 여러 번 재시작했지만 역시 실패했습니다. 재시작하면 사이트는 다시 작동했지만, 관리자 화면이나 SSH에서 재빌드를 시도하면 다시 크래시가 발생했습니다. 그러다 갑자기 BAM, SSH에서 재빌드가 성공했고, 이후에는 플러그인을 업데이트하고 관리자 화면에서도 재빌드가 잘 되었습니다. 이제 Ubuntu도 업데이트했는데, 지금은 괜찮은 것 같습니다. 해결된 것 같지만 여전히 조금은 미스터리입니다. :partying_face: