3.4.0.beta4에 대해 구체적으로 질문드립니다. 시스템 요구 사항은 무엇인가요?

Update “3.4.0.beta4” failed 또는 https://meta.discourse.org/t/upgrade-failed-spectacularily/350773와 같은 업그레이드 문제, 혹은 Severe Email Issue since last update a couple days ago - 3.4.0.beta4-dev 또는 Severe Email Issue since last update a couple days ago - 3.4.0.beta4-dev, https://meta.discourse.org/t/550-requested-action-not-taken-mailbox-unavailable-on-3-4-0-beta4-dev/350197와 같은 이메일 관련 문제를 겪고 싶지 않습니다.

https://meta.discourse.org/t/postgresql-15-update/349515를 확인해 보니, 이상적인 상황에서는 ./launcher rebuild app을 두 번 실행하고(이후 선택적으로 실행할 수 있는 명령어들이 몇 가지 있습니다) 충분할 것 같습니다. 다만 "데이터베이스가 매우 큰 경우"에는 데이터베이스 크기의 2배에 해당하는 추가 디스크 공간이 필요하다는 경고가 있습니다(작은 데이터베이스인 경우에도 이 추가 공간이 필요한 걸까요?).

이 업그레이드를 위한 요구 사항 목록이나 구체적인 안내 문구가 따로 있을까요?

디스크 공간이 충분하고 Docker가 최신 상태라면 큰 문제가 없을 것입니다.

OS가 오래되어 Docker도 오래된 버전이라면, rsync를 사용하여 Discourse 사이트를 다른 VPS로 이동하기에 설명된 대로 새로운 VM을 생성하고 해당 VM으로 이전하는 것이 좋습니다.

문제를 겪은 사람들 중 대부분이 Docker 버전이 최신이 아닌 상태이며, 그 대부분은 OS 버전이 최신이 아니기 때문인 것으로 보입니다.

새로운 VM을 생성하면 기존 서버가 계속 사용 가능하므로 문제가 발생할 가능성이 없습니다.

좋아요, 그렇게 해볼게요. 여기에서 발생한 몇 가지 문제는 제 경우처럼 “비추천” 버전과 “최소 지원” 버전 사이의 Docker 버전에서 생긴 것 같아요.

그렇지 않나 싶습니다. 정확히 어떤 버전이 문제인지 파악하기가 꽤 어렵습니다. 오늘 10개 정도의 사이트를 업그레이드했는데, 최신 Docker를 사용하는 사이트들은 모두 정상적으로 작동했습니다.

저도 그렇게 하려 했지만, 해당 설명서가 충분히 초보자 친화적이지 않다고 생각했습니다. 제 접근 방식은 다음과 같습니다:

  • 읽기 전용 모드 활성화.
  • 관리자 인터페이스에서 Discourse 백업.
  • Digital Ocean 스냅샷 생성.
  • sudo apt update, sudo apt upgrade, sudo do-release-update 두 번 실행 (20.04에서 22.04로, 다시 24.04로 업그레이드).
  • Postgres 업데이트를 위해 Discourse를 정상적으로 두 번 업데이트.

정말 좋습니다!

저는 다른 지침들이 훨씬 더 실수 방지 기능이 있다고 생각합니다. 문제가 발생해도 기존 사이트는 계속 작동합니다. do-release-update 단계 중 하나에서 문제가 발생했다면, 최신 스냅샷으로 복원하는 것만 반복하면 됩니다.

물론, 일을 처리하는 방법은 다양합니다.

고양이를 죽이는 방법은 여러 가지가 있죠!

"바보도 실수하지 않도록"이라는 말은 지시 사항 자체를 의미했습니다. 예를 들어 rsync에 어떤 플래그를 사용할지 (여러 가지 제안이 있었습니다) 또는 어떤 지시 사항을 따를지 (최소 세 가지가 있었습니다) 같은 것이죠.

질문자님의 관점을 이해할 수 있습니다. 즉, 바보라도 지시 사항을 따라갈 수 있다면 rsync 방식으로 하는 것이 더 낫다는 것이죠. 질문자님이 말씀하신 이유들로 인해 저도 그렇게 하는 편이 좋았을 것 같지만, 제 스스로 올바른 결정을 내릴 수 있을 만큼 믿을 수 없었습니다.

스냅샷에서 복원해야 했다면 아마 다음에는 시도해 봤을 것입니다!