Oogiem
(Oogie McGuire)
1
아주 오래된 설치 버전을 업데이트하려고 하고 있습니다.
다음과 같이 시작했습니다:
cd /var/discourse
sudo git pull
sudo ./launcher rebuild app
그런 다음 실패(failed) 메시지가 표시되고, 로그 파일을 위로 스크롤해 보면 유일한 오류가 이것뿐입니다.
ERROR: Error installing bundler:
bundler-2.5.3 requires Ruby version >= 3.0.0. The current ruby version is 2.7.2.137.
새로운 Ruby를 설치하는 방법은 무엇인가요? 이 시스템은 Digital Ocean의 docker 이미지에서 원래 설치되었으며, 수년 동안 거의 업그레이드되지 않았습니다.
현재 Ubuntu 18.04에서 실행 중입니다.
./discourse-doctor를 실행해 보았는데, detached head 상태가 표시되었고, rebuild를 시도한 후에도 동일한 Ruby 오류가 발생했습니다.
완전히 헤매고 있습니다.
아주 오래된 버전에서 업그레이드가 작동하도록 만드는 방법에 대한 도움이 필요합니다.
컨테이너 이미지가 매우 오래된 Discourse 기본 이미지로 고정되어 있을 수 있습니다.
(개인정보를 삭제한) 컨테이너 설정을 여기에 공유해 주실 수 있을까요?
Oogiem
(Oogie McGuire)
3
그 방법을 모르지만, discourse doctor 출력에서 다음 내용을 발견했습니다
DOCKER VERSION: Docker version 19.03.1, build 74b1e89
그리고 이 서버는 3년 전에 생성되었습니다
호스트 머신의 연식을 고려할 때, 여기서는 사이트 백업을 받아서 새 서버를 생성하고, 설치를 한 뒤, 새 서버에 백업을 복원하는 것이 가장 좋은 방법일 것입니다.
기존 서버를 업그레이드하는 것보다 훨씬 적은 작업이 필요하며(그리고 훨씬 쉽습니다).
Oogiem
(Oogie McGuire)
5
하지만 설치가 실패해서 Discourse를 실행하여 백업을 가져올 수 없습니다. Digital Ocean 드롭렛의 스냅샷은 만들었고 실제로 만들었지만, 제 이해에 따르면 그것은 진정한 의미의 백업은 아닙니다.
Firepup650
(Firepup Sixfifty)
6
./launcher start app만 실행하면 기존 사이트로 재부팅할 수 있어야 합니다.
Oogiem
(Oogie McGuire)
7
그걸 시도해 봤는데 이번에는 502 Bad Gateway 문제가 발생하네요 :sigh:
pfaffman
(Jay Pfaffman)
8
구 /var/discourse를 새 서버로 rsync하겠습니다. 아니면 containers와 shared만 복사해도 될 것 같습니다.
Oogiem
(Oogie McGuire)
9
음, 여기서는 내가 너무 감을 못 잡고 있어서, 마켓플레이스에 유료로 도움을 구하는 광고를 올리는 걸로 해결하려고 해 
컨테이너를 업데이트하기 전에 모든 데이터가 포함된 드롭렛 스냅샷이 있다면, 해당 스냅샷에서 백업을 가져올 수 있어야 합니다.
만약 없다면, 여전히 큰 문제는 아닐 가능성이 높지만, 컨테이너를 다시 실행할 수 없는 경우 데이터를 추출할 수 있도록 해당 과정에 익숙한 사람의 도움이 필요합니다.
현재 상태에서도, 게이트웨이 오류가 있더라도 컨테이너에 접근할 수 있다면 discourse backup 명령을 실행하여 데이터를 가져올 수 있어야 합니다.