그리고 성공했습니다 ![]()
다른 분들에게 도움이 되고자 제가 수행한 단계를 단계별로 정리했습니다:
app.yml 파일을 편집하고 다음 내용을 추가했습니다.
after_assets_precompile:
- exec: cd: $home
cmd: - sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
이 내용을 hooks: 섹션 바로 아래(즉, git clone plugins… 바로 뒤에)에 추가했습니다.
그리고 다음 환경 변수를 이메일 설정 바로 아래에 추가했습니다.
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: EU
DISCOURSE_S3_ENDPOINT: https://contabostorage.com/bucketname
DISCOURSE_S3_ACCESS_KEY_ID: accesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: secretaccesskey
DISCOURSE_S3_CDN_URL: https://eu2.contabostorage.com/randomlettersthatcontaboaddstothelinks:bucketname
DISCOURSE_S3_BUCKET: eu2
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
그 후 Discourse 메뉴에서 동일한 값을 설정하고 S3 업로드를 활성화했습니다.
다음 명령을 실행하여 앱을 다시 빌드했습니다.
cd /var/discourse
sudo ./launcher rebuild app
그 다음
./launcher enter app
rake uploads:migrate_to_s3
이 과정에는 시간이 조금 걸립니다. 제 경우를 보면 몇 시간(파일 80,000개, 100GB)이 소요되었습니다.
완료되면 다음 명령을 실행합니다.
rake posts:rebake_uncooked_posts