호스트를 변경했습니다. 기존 인스턴스(최신 Discourse 버전)에서 썸네일 포함 옵션을 활성화한 전체 백업을 수행했습니다.
도메인 IP를 변경한 후, 먼저 새로운 Discourse 인스턴스를 설치했습니다(도커를 사용한 클래식 설치).
그런 다음 백업을 /var/discourse/shared/standalone/backups/default로 복사하고 새 인스턴스에서 복원했습니다.
모든 과정은 순조롭게 진행되었지만, 주제(토픽)에 메시지가 하나도 없습니다.
로그는 정상적으로 보입니다. 로그인도 가능하고, 주제가 비어 있는 것을 제외하면 모든 것이 정상입니다.
어떤 생각이 있으신가요? 문제가 있다면 어디를 확인해야 할까요? 이제 무엇을 해야 할까요?
복원 시 CSP 설정이 강제로 활성화되어 있었습니다. 일부 테마 구성 요소가 CDN을 통해 스크립트를 선언하고 있었으며, 해당 스크립트는 화이트리스트에 등록되어 있지 않아 JS 오류로 인해 토픽 메시지가 표시되지 않았습니다.
보안 강화는 언제나 환영하지만, Discourse가 백업 설정을 변경하는 것은 기대하지 않았습니다. 신규 설치의 경우라면 이해할 수 있지만, 백업에서는 그렇지 않습니다. 단순히 백업/복원 문제만이 아니었기 때문에 처음에는 브라우저 콘솔을 확인해야 한다는 생각이 들지 않았습니다. 이렇게 사소한 문제로 인해 많은 시간, 에너지, 수면을 잃은 것에 대해 솔직히 상당히 좌절감을 느낍니다. 또한 Discourse 빌드가 매우 시간이 오래 걸리기 때문입니다.
만약 동일한 버전의 Discourse에서 해당 백업을 복원했다면, 그것은 버그로 간주할 수 있습니다. 실제로 그렇게 했습니까? 이전 버전의 Discourse에서 만든 백업을 더 새로운 버전의 Discourse에서 복원할 경우, 시스템이 다르게 동작할 수 있음을 예상해야 합니다.
CSP 문제를 테마 컴포넌트 개발자에게 보고했습니까? 그렇게 하면 적어도 다른 사람들이 동일한 문제를 겪는 것을 방지할 수 있을 것입니다.
새 버전이 나올 때만 업그레이드하고, 새 인스턴스를 설치할 때 test-passed에서 최신 버전을 가져오기 때문에, 아마도 더 새로운 버전일 가능성이 높습니다.
어쨌든, 구버전/신버전 여부와 무관하게, 아주 특별한 상황이 아니라면 제 생각에는 기존 설정은 어떤 식으로든 변경되어서는 안 된다고 생각합니다. 또한, 동일한 기본 버전에서 백업이 동일한 동작을 하기를 기대합니다. 만약 변경 사항이 있다면, Discourse에 연결된 시점에 최소한 경고 메시지를 한 번 표시해 주면 좋겠습니다(예: “보안상의 이유로 CSP 설정이 활성화되었습니다” 등, 요지는 그겁니다).
'최신’이라고 했을 때, 제 의도는 github의 test-passed 브랜치의 최신 커밋이 아니라 최신 릴리스를 의미하는 것이었습니다.
하지만 네, 동일한 기본 버전 2.4.0.beta9입니다.
우리는 오직 백업과 오직 설정 값에 대해서만 이야기하고 있을 뿐, 그 외의 것은 아닙니다. Discourse 버전, DB 변경 사항 등등은 무관합니다. 관리자에게 알리지 않고 백업에서 설정 값을 변경할 수 있는 단일한 정당성도 보이지 않습니다. 당신은 바로 그 특정 설정으로 Discourse를 커스터마이징하는 것이므로, 더 새로운 Discourse 버전에서 백업을 복원한다는 이유만으로 당신의 설정 값을 함부로 변경하는 것은 말이 되지 않습니다.
말했듯이, 특정 설정의 값이 변경되어야 한다면, Discourse가 관리자게 무슨 일이 일어나고 있는지 알려주기를 기대할 것입니다. 이것은 단순히 투명성을 확보하고 관리자의 삶을 덜 고통스럽게 만드는 것입니다. 제 핵심은 좋은 이유가 없는 한 사용자 설정을 절대 변경해서는 안 되며, 만약 그럴 만한 이유가 있다면 관리자에게 알리는 것은 괜찮다는 것입니다.