네. 백업이 S3에 저장되어 있고 더 이상 로컬 드라이브에 백업을 유지할 필요가 없다면 삭제할 수 있습니다.
S3를 백업에만 활성화하고 파일 또는 이미지 업로드에는 적용하지 않을 수 있나요?
저도 정확히 같은 질문을 가지고 있었는데, 여기나 Configure an S3 compatible object storage provider for uploads 에서 명시적인 답변을 찾을 수 없었습니다.
하지만 아래 환경 변수를 사용하여 Scaleway S3 객체 스토리지를 백업 전용으로 설정해 보았는데, 잘 작동하는 것 같습니다. 이 방법으로 관리 대시보드에서 버킷으로 수동 백업을 한 번 수행해 보았습니다.
# 아래 매개변수를 주석 처리하는 이유는
# 업로드/CDN 배포용 S3를 설정하기 때문이며, 우리는 이것이 필요하지 않으므로.
# DISCOURSE_USE_S3: true
# DISCOURSE_S3_CDN_URL:
# DISCOURSE_S3_BUCKET:
DISCOURSE_S3_REGION: nl-ams
DISCOURSE_S3_ENDPOINT: https://s3.nl-ams.scw.cloud
DISCOURSE_S3_ACCESS_KEY_ID: <redacted>
DISCOURSE_S3_SECRET_ACCESS_KEY: <redacted>
DISCOURSE_S3_BACKUP_BUCKET: <redacted>
DISCOURSE_BACKUP_LOCATION: s3
예상하고 바랐던 대로 정적 자산은 여전히 제 VPS에서 서빙되고 있으며, 오류도 보이지 않습니다. 예약된 백업이 작동할지는 확신할 수 없지만, 수동 백업이 작동했다면 예약 백업도 작동할 것입니다.
위 위키에 백업만 사용하고 파일이나 이미지 업로드에는 S3를 사용하지 않으려면 이 매개변수를 생략할 수 있다는 주의를 추가하겠습니다.
업데이트: 위키는 아닙니다.
업데이트 2: 제 요청으로 위키로 변경되었습니다. 감사합니다!
여분 웹 컨테이너 2개를 사용 중이라면, 백업이 하나만 실행되도록 어떻게 보장할 수 있나요?
별도로 할 필요가 없습니다 - Discourse가 이를 자동으로 처리합니다. Sidekiq과 Redis는 작업을 한 번만 실행하며, Sidekiq은 웹 컨테이너 중 하나만 선택합니다. 다만 로컬 백업을 사용하는 경우에는 특정 백업 시점에 어떤 컨테이너에서 실행되는지 확신할 수 없습니다.
따라서 아직 그렇지 않다면 외부 S3 버킷을 사용해야 합니다. 그렇지 않으면 백업 파일이 두 컨테이너의 로컬 디스크에 무작위로 저장될 가능성이 높습니다. S3 버킷을 사용하면 백업이 항상 동일한 위치에 저장됩니다.