Backblaze 목적지로 백업하는 기능을 지원해 주셨으면 합니다.
현재 s3.eu-central-003.backblazeb2.com과 같은 엔드포인트를 설정할 수 없습니다.
Backblaze 목적지로 백업하는 기능을 지원해 주셨으면 합니다.
현재 s3.eu-central-003.backblazeb2.com과 같은 엔드포인트를 설정할 수 없습니다.
혹시 아직 보지 못하셨을 수도 있어서 공유드립니다: Configure an S3 compatible object storage provider for uploads
아니요, 아직 안 했어요… 이제 했습니다 ![]()
하지만 간단한 일을 하려면 박사 학위가 있어야 할 정도입니다. 향후 릴리스에서는 관리자 사용성이 문제가 될 수 있겠네요.
Discourse에는 고급 기능이 많지만, 일반 사용자(저 :
)에게는 너무 복잡해서 사용하기 어렵습니다.
참고로, 저는 백업만 서버와 원격으로 분리해서 저장되길 원합니다.
이미지 같은 업로드 파일을 CDN에 저장할 필요는 없습니다. 제 포럼은 크지도 않고 트래픽이 높지도 않으니까요…
5달러짜리 단순한 드롭렛에서 운영 중입니다…
음, 그러면 꽤 간단할 것 같네요. 다만 규모가 크지 않다면, AWS S3를 사용하는 편이 더 간편할 수도 있습니다. 저장소 요금은 그리 비싸지 않지만, 대역폭 비용은 좀 번거롭긴 하죠.
아마 app.yml 파일에 정확한 정보를 넣고 다시 빌드만 하면 될 것 같습니다. 여기서는 사용자 업로드 관련 부분은 제외되어 있습니다. 튜토리얼의 after_assets_precompile 관련 다른 부분은 포함할 필요가 없습니다.
먼저 루트 권한으로 서버에 SSH로 접속한 다음, 다음 명령을 실행하세요:
cd /var/discourse
nano containers/app.yml
키보드 화살표 키를 이용해 커서를 이동하고, 아래 정보를 파일의 #DISCOURSE_CDN_URL: https://discourse-cdn.example.com 부분 아래에 붙여넣으세요.
DISCOURSE_S3_REGION: "us-west-002"
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_ENDPOINT: https://s3.us-west-002.backblazeb2.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_BACKUP_BUCKET: falcoland-files/backup
DISCOURSE_BACKUP_LOCATION: s3
리전, 엔드포인트, 액세스 키, 시크릿 키 및 백업 버킷 이름에 올바른 정보를 입력했는지 확인하세요.
ctrl+o를 눌러 저장하고 확인한 뒤, ctrl+x를 눌러 나갑니다. 그런 다음 다음 명령을 실행하세요:
./launcher rebuild app
잘 작동할 것이라고 꽤 자신 있습니다.
Digital Ocean을 사용 중이시니, 이 작업을 수행하기 전에 백업을 만들어 두는 것이 좋습니다. 그렇게 하면 문제가 생겼을 때 되돌리기(롤백)가 쉬워집니다.
@markersocial 설명해 주셔서 감사합니다.
Sign In 에 가서 새 버킷을 생성했습니다.
이어서 App Keys로 가서 액세스를 위한 새 앱 키를 생성했습니다.
생성 후 아래와 같은 임시 정보가 표시됩니다. 이 정보는 한 번만 표시됩니다:
이 정보를 바탕으로 다음을 사용했습니다:
DISCOURSE_S3_REGION: “s3.eu-central-003”
DISCOURSE_S3_INSTALL_CORS_RULE: false
DISCOURSE_S3_ENDPOINT: https://s3.eu-central-003.backblazeb2.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_BACKUP_BUCKET: my_buckets_Name
DISCOURSE_BACKUP_LOCATION: s3
그 후 Digital Ocean에서 드롭렛 스냅샷을 만든 뒤 재빌드(rebuild)를 수행했습니다.
./launcher rebuild app
이어서 /admin/backups로 가서 백업을 생성했습니다.
[2020-08-27 09:25:57] Creating archive: studmed-dk-2020-08-27-092518-v20200820232017.tar.gz
[2020-08-27 09:25:57] Making sure archive does not already exist…
[2020-08-27 09:25:57] pg_dump: executing SEQUENCE SET topic_allowed_users_id_seq
[2020-08-27 09:25:57] Creating empty archive…
[2020-08-27 09:25:57] Archiving data dump…
[2020-08-27 09:25:59] Archiving uploads…
[2020-08-27 09:26:06] Removing tmp ‘/var/www/discourse/tmp/backups/default/2020-08-27-092518’ directory…
[2020-08-27 09:26:06] Gzipping archive, this may take a while…
[2020-08-27 09:26:31] Uploading archive…
[2020-08-27 09:26:41] Executing the after_create_hook for the backup…
[2020-08-27 09:26:41] Deleting old backups…
[2020-08-27 09:26:41] Cleaning stuff up…
[2020-08-27 09:26:41] Removing archive from local storage…
[2020-08-27 09:26:41] Removing ‘.tar’ leftovers…
[2020-08-27 09:26:41] Marking backup as finished…
[2020-08-27 09:26:41] Refreshing disk stats…
[2020-08-27 09:26:42] Notifying ‘frold’ of the end of the backup…
[2020-08-27 09:26:53] Finished!
이후 Backblaze로 가서 어떤 일이 있었는지 확인했습니다:
맥주 한 잔 사야겠네요 ![]()
잘하셨네요! 혹시 다른 분들도 이 글을 보신다면, 버킷 생성 권한이 있는 키를 제공하면 Discourse가 버킷까지 자동으로 만들어준다고 생각합니다.
Using Object Storage for Uploads (S3 & Clones)을 따르면 기본적으로 지원되므로 닫습니다.