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

**URL:** https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916
**Category:** Self-Hosting
**Tags:** cdn, configuring, how-to, reference
**Created:** [4월 22, 2020, 10:37오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916 "2020-04-22T22:37:37Z")
**Posts on this page:** 20
**Page:** 4

<div class="post-metadata">

### Author: ![dsaver](https://avatars.discourse-cdn.com/v4/letter/d/958977/32.png) [@dsaver](https://meta.discourse.org/u/dsaver)
#### Post date: [5월 26, 2022, 8:24오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/288 "2022-05-26T20:24:42Z")

</div>

당신의 게시물이 최고라고 말하고 싶어요.

---

<div class="post-metadata">

### Author: ![luizjr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/luizjr/32/266739_2.png) [@luizjr](https://meta.discourse.org/u/luizjr)
#### Post date: [6월 17, 2022, 2:12오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/289 "2022-06-17T14:12:51Z")

</div>

문제를 찾았습니다. Oracle Object Storage는 path style을 사용하거든요.

그런데 Discourse에서는 path style을 사용할 수 있는 옵션을 제공하지 않고, virtual host style을 강제합니다.

직접 선택할 수 있으면 좋겠어요.

Minio조차도 virtual host style에 맞게 설정해야 합니다.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [6월 17, 2022, 3:01오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/290 "2022-06-17T15:01:57Z")

</div>

모든 주요 클라우드 제공업체가 가상 호스트 스타일(가상 호스트 스타일)을 지원한다는 점을 고려하여(MinIO 포함), 비추천된 경로 스타일(path style) 기능에 대한 지원은 추가할 계획이 없습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 17, 2022, 3:24오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/291 "2022-06-17T15:24:59Z")

</div>

이 말을 당신이 했다는 기억이 이번이 처음은 아닙니다. Oracle Object Storage가 가상 호스트 스타일을 지원할 때까지는 지원되지 않는다는 점을 OP에 명시적으로 추가해 주세요.

---

<div class="post-metadata">

### Author: ![luizjr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/luizjr/32/266739_2.png) [@luizjr](https://meta.discourse.org/u/luizjr)
#### Post date: [6월 22, 2022, 7:27오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/292 "2022-06-22T19:27:25Z")

</div>

위 설명은 타당하지만, Virtual Host Style 표준을 사용하지 않는 모든 프로바이더가 지원되지 않는다는 점을 더 명확히 해야 합니다.

일부 부분에서 이 내용이 언급되긴 하지만, 여전히 명확하지 않습니다.

직접 테스트를 해봐야 알 수 있었습니다.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [6월 22, 2022, 9:10오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/293 "2022-06-22T21:10:01Z")

</div>

어떤 서비스를 시도해 보셨는데 작동하지 않았나요? 그러면 시작 글의 목록에 추가할 수 있습니다.

---

<div class="post-metadata">

### Author: ![luizjr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/luizjr/32/266739_2.png) [@luizjr](https://meta.discourse.org/u/luizjr)
#### Post date: [6월 22, 2022, 9:40오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/294 "2022-06-22T21:40:17Z")

</div>

Oracle Object Storage로 시도해 보았습니다.

여전히 "path style"을 사용하고 있어서 작동하지 않았습니다.

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 28, 2022, 11:12오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/296 "2022-06-28T23:12:19Z")

</div>

방금 DigitalOcean Spaces를 사용하여 S3 백업을 설정했습니다. \* app.yml 파일에 정보를 추가하고 ./launcher rebuild app을 성공적으로 실행한 후, rebake 명령인 rake posts:rebake을 시도했을 때 rake를 찾을 수 없다는 오류 메시지가 표시됩니다.

도와주세요! 막혀서 진행이 안 됩니다!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 28, 2022, 11:21오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/297 "2022-06-28T23:21:59Z")

</div>

rake 명령을 입력하기 전에

```
 ./launcher enter app

```

UX에서 게시물을 먼저 실행하여 HTML 재구성이 정상적으로 작동하는지 확인하는 것이 좋습니다.

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 28, 2022, 11:27오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/298 "2022-06-28T23:27:46Z")

</div>

@pfaffman 님, 감사합니다. 재베이크(rebake) 명령어를 실행하기 전에 다음 명령어를 실행했습니다:

` ./launcher enter app`

또한 "UX 포스트에서 HTML을 다시 빌드(rebuild html)해서 제대로 작동하는지 확인하는 것이 좋습니다."라고 말씀하셨습니다.

저는 Discourse를 처음 사용해서 어떻게 해야 하는지 모르겠습니다. 이 작업을 수행하는 단계를 알려주실 수 있을까요?

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 28, 2022, 11:53오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/299 "2022-06-28T23:53:36Z")

</div>

여기 가이드에 명시되어 있지 않아서, app.yml에 해당 정보를 입력하고 필요한 명령어를 실행한 후에도 설정 → 파일 및 설정 → 백업에서 설정을 추가로 구성해야 하나요?

---

<div class="post-metadata">

### Author: ![Benjamin\_D](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benjamin_d/32/277831_2.png) [@Benjamin\_D](https://meta.discourse.org/u/Benjamin_D)
#### Post date: [6월 29, 2022, 5:14오전 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/300 "2022-06-29T05:14:06Z")

</div>

빅터님,  
자신의 사이트에서 세 점(생략부호)을 클릭하면 렌치 아이콘이 보이며, 거기서 `rebuild html`을 찾을 수 있습니다.

 ![image](https://global.discourse-cdn.com/meta/original/4X/7/e/4/7e482f17ea57eea55f151eeda7a458fcbe928af0.png)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 29, 2022, 8:44오전 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/301 "2022-06-29T08:44:48Z")

</div>

> [@Victor\_Ashiedu](#):
>
> 설정 → 파일 및 설정 → 백업에서 설정을 여전히 구성해야 하나요?

아니요. 설정을 환경 변수에 넣으면 UX에서 변경 사항을 확인할 수 있는 기능이 무시됩니다.

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 29, 2022, 4:38오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/302 "2022-06-29T16:38:19Z")

</div>

감사합니다, @Benjamin_D. 곧 처리하겠습니다.

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 29, 2022, 6:08오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/303 "2022-06-29T18:08:49Z")

</div>

도와주셔서 감사합니다.

S3 백업 설정을 성공적으로 완료했습니다(그렇게 생각하는데 말이죠!). 그런데 백업을 실행하면 정상적으로 실행됩니다.

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/d/6/4d6d6128ba281b88e10cd29f03234364f0260973.png)

하지만 제 DigitalOcean Space 버킷에는 파일이 하나도 없습니다!

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/5/6/256589ef7530147083cc287a4e6ff50855c45dab.png)

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 29, 2022, 6:10오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/304 "2022-06-29T18:10:44Z")

</div>

아래는 제 설정입니다. 당연히 접근 키와 시크릿 키는 포함하지 않았습니다!

```plaintext
  after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: NYC3
DISCOURSE_S3_ENDPOINT: nyc3.digitaloceanspaces.com
DISCOURSE_S3_ACCESS_KEY_ID: myaccesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: mysecretkey
DISCOURSE_S3_CDN_URL: https://community-cdn.itechguides.com
DISCOURSE_S3_BUCKET: itg-community-files
DISCOURSE_S3_BACKUP_BUCKET: itg-community-files/backups
DISCOURSE_BACKUP_LOCATION: s3

```

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 29, 2022, 6:56오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/305 "2022-06-29T18:56:52Z")

</div>

해당 `DISCOURSE*: x` 라인들은 모두 파일의 더 위쪽, `env:`로 시작하는 섹션에 위치해 있습니다. SMTP 관련 항목 바로 아래에 있죠.

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 29, 2022, 7:59오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/306 "2022-06-29T19:59:11Z")

</div>

와! 이제 파일을 옮기고 테스트해 보겠습니다.

아래 스크립트도 함께 옮길까요?

after\_assets\_precompile:  
- exec:  
cd: $home  
cmd:  
- sudo -E -u discourse bundle exec rake s3:upload\_assets

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 29, 2022, 8:39오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/307 "2022-06-29T20:39:02Z")

</div>

그 부분은 독립적인 연(연도)이므로, 위치는 어디든 괜찮습니다(다른 연의 중간에 오는 경우를 제외하고는).

---

<div class="post-metadata">

### Author: ![Victor\_Ashiedu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/victor_ashiedu/32/264361_2.png) [@Victor\_Ashiedu](https://meta.discourse.org/u/Victor_Ashiedu)
#### Post date: [6월 29, 2022, 9:07오후 UTC](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916/308 "2022-06-29T21:07:50Z")

</div>

@pfaffman님, 정말 감사합니다! 해당 파일들을 관련 위치에 추가하고 컨테이너를 다시 빌드했는데, 사이트가 백 페이지만 표시하면서 다운되어 버렸어요!

 ![image](https://global.discourse-cdn.com/meta/original/4X/0/8/3/0838d007d774ba389033c0c13cbb465b0e4eafc3.png)

[이전 페이지](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916.md?page=3)

[다음 페이지](https://meta.discourse.org/t/configure-an-s3-compatible-object-storage-provider-for-uploads/148916.md?page=5)
