안녕하세요,
저는 자체 호스팅(self-hosted)된 Discourse(계약 업체가 설치해 줌)를 운영하고 있으며, 오늘 최신 베타 버전으로 자동 업데이트를 진행하던 중 업데이트 중 오류가 발생했다는 메시지를 받고 사이트가 완전히 멈춰서 오프라인 상태가 되었습니다.
어떻게 해야 할까요?
안녕하세요,
저는 자체 호스팅(self-hosted)된 Discourse(계약 업체가 설치해 줌)를 운영하고 있으며, 오늘 최신 베타 버전으로 자동 업데이트를 진행하던 중 업데이트 중 오류가 발생했다는 메시지를 받고 사이트가 완전히 멈춰서 오프라인 상태가 되었습니다.
어떻게 해야 할까요?
이것을 시도해 보았는데 작동하지 않습니다.
스냅샷이 있다면 이를 실행하고 수정될 때까지 기다려 주세요.
답변 감사합니다. "./launcher rebuild app"를 어디에 입력해야 하나요?
SSH
cd ..
cd var/discourse
./launcher rebuild app
감사합니다. 하지만 다음과 같은 메시지가 표시됩니다.
UPGRADE OF POSTGRES FAILED
Please visit https://meta.discourse.org/t/postgresql-15-update/349515 for support.
You can run ./launcher start app to restart your app in the meanwhile
-------------------------------------------------------------------------------------
FAILED
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
/root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
failed with return #<Process::Status: pid 18 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 {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1\nfi\n"}
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.
c5b5958a65b830ae97f279c6df70e8b485b2d9d594af68767a953ff59e6ca286
제가 말한 그대로, snap을 사용해 이전 컨테이너로 복원하고 이 문제가 수정되기를 기다리세요. 저도 업데이트를 시도해 봤는데, 웹 서버가 어떤 이유인지 모르겠지만 시작되지 않네요.
도와주려고 해줘서 고마워. 하지만 이거 할 시간이 없어. 정적 Hugo 사이트로 돌아가야겠어. 안녕, Discourse.
해당 토픽에 게시글을 올리는 것을 권합니다.
Discourse에는 조금의 인내심이 필요하며, 그러면 정상적으로 작동할 것입니다.
네, 해당 주제에 있는 디버깅 단계를 따라 해보시고, 추가 정보가 있으면 알려주세요. @eisammy @Markus_Moenig
발행을 기다리고 있는 수정 사항은 없습니다. 따라서 여전히 문제가 발생하고 있다면 도움을 드리기 위해 더 많은 정보가 필요합니다.
내가 이해하지 못하는 점은, 나 같은 웹 기술 초보자를 끌어들이기 위해 초보자도 쉽게 사용할 수 있도록 노후프루프(noo-proof) UI를 만드는 데 많은 공을 들이면서, 왜 아무 경고 없이 잠재적으로 위험한 업데이트를 넣느냐는 것입니다.
오늘 4시간 동안 작동하게 하려고 시도하다가 결국 제 드롭렛(Droplet)을 격분해서 삭제해 버렸습니다. 이제 되돌릴 수 있는 방법이 없습니다.
완전히 정확합니다! 방금 그렇게 해봤더니 인스턴스가 업데이트되어 정상적으로 작동하고 있습니다. 감사합니다.
그리고 @Markus_Moenig 님, 이 튜토리얼만 있으면 이 문제를 해결할 수 있습니다.
작동하고 있다고 해서 기쁩니다 @eisammy
@Markus_Moenig 일이 잘되지 않아 죄송합니다. 이러한 유형의 업데이트를 최대한 매끄럽게 진행하려고 노력하지만, 때로는 문제가 발생할 수도 있습니다. 그것이 짜증나실 수 있다는 점에 동의합니다. Meta에서 최대한 신속하게 대응하려고 노력하고 있지만, 그것이 항상 충분하지는 않다는 점을 이해합니다.
이 주제를 닫겠습니다. 하지만 귀하나 다른 분이 관련 문제가 있으시면 #support에서 새로운 주제를 자유롭게 열어 주세요.