업로드를 위해 S3 호환 객체 저장소 제공자 구성하기

그리고 성공했습니다 :partying_face:
다른 분들에게 도움이 되고자 제가 수행한 단계를 단계별로 정리했습니다:

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
5개의 좋아요