당신보다 더 똑똑한 것은 아니지만, 방금 그 과정을 거쳤고 @Pravi의 도움으로 성공했습니다.
S3 업로드에서 기본 상태로 되돌리기 위해 취해야 할 단계
이 과정은 매우 쉽지는 않습니다. 잘못되면 정리하기가 매우 골치 아플 수 있으므로 텍스트와 링크에 각별히 주의하세요. 하지만 충분히 가능합니다.
1단계 - S3 버킷의 파일을 public/uploads/default 폴더로 복사
먼저 앱 컨테이너 안에 AWS CLI를 설치하세요.
cd /var/discourse
./launcher enter app
sudo apt install awscli
S3 ID와 비밀번호로 aws를 구성하세요(보통 간단합니다).
aws configure
그 다음 aws를 사용하여 버킷의 모든 내용을 public/uploads/default/로 복사하세요.
aws s3 sync s3://my-bucket-name/ public/uploads/default/
2단계 - S3 URL 재매핑
이것은 포럼에서 이미지를 하나 찾아 URL을 검사하는 것이 가장 쉽습니다. 실제 파일명까지의 모든 부분(마지막 / 포함)을 원합니다:
discourse remap //the-long-url-in-your-images-until-the-filename /uploads/default/
3단계 - 게시물 다시 생성(Rebake) 및 앱 재빌드:
rake posts:rebake
exit
./launcher rebuild app
4단계 - S3 끄기
- 설정에서 S3 업로드를 끄세요(혹은 그렇게 설정했다면 app.yml에서). CDN을 사용했다면 설정에서 해당 링크도 제거해야 합니다(그렇지 않으면 실제로 꺼지지 않습니다).
- 컨테이너를 종료하세요. 저는 초기 단계로 백업 목적으로 내용을 새 컨테이너로 이동하여 이 작업을 수행했습니다.
휴! 완료. 지금까지 어떤 문제도 겪지 않았습니다. 가서 테스트해 보세요!