Skip to content

Commit

Permalink
Merge pull request #1 from oshliaer/feat_edit_s3_article
Browse files Browse the repository at this point in the history
edit: update S3 article
  • Loading branch information
updevru authored May 23, 2024
2 parents 3d11df1 + 24650ba commit b76baa0
Showing 1 changed file with 20 additions and 13 deletions.
33 changes: 20 additions & 13 deletions tutorial/s3.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
## Подключение S3 хранилища для файлов

Вся работа основывается на [Upload Plugin](https://docs.strapi.io/dev-docs/plugins/upload)

Для хранения загружаемых файлов будем использовать S3 хранилище - Yandex Object Storage.
В нем можно дешево хранить файлы и быстро раздавать их через cdn.

Expand All @@ -8,36 +10,38 @@

Устанавливаем в strapi плагин для работы с S3 хранилищем.

```
```sh
npm install @strapi/provider-upload-aws-s3 --save
```

Добавить конфигурацию для подключения к S3 Yandex cloud
Добавить конфигурацию в `./config/plugins.js` для подключения к S3 Yandex cloud

```
```js
module.exports = ({ env }) => ({
upload: {
config: {
provider: 'aws-s3',
providerOptions: {
credentials: {
accessKeyId: env('YC_ACCESS_KEY_ID'),
secretAccessKey: env('YC_ACCESS_SECRET'),
},
region: 'ru-central1',
endpoint: 'https://storage.yandexcloud.net',
params: {
Bucket: env('YC_BUCKET'),
s3Options: {
credentials: {
accessKeyId: env('YC_ACCESS_KEY_ID'),
secretAccessKey: env('YC_ACCESS_SECRET'),
},
region: 'ru-central1',
endpoint: 'https://storage.yandexcloud.net',
params: {
Bucket: env('YC_BUCKET'),
},
},
},
},
},
});
```

Для отображения в галерее превью картинок необходимо добавить домен в доверенный.
Для отображения в галерее превью картинок необходимо добавить домен в доверенный в `./config/middlewares.js`.

```
```js
{
name: 'strapi::security',
config: {
Expand Down Expand Up @@ -70,10 +74,13 @@ module.exports = ({ env }) => ({

1. [Создайте сервисный аккаунт](https://yandex.cloud/ru/docs/iam/operations/sa/create).
2. Назначьте сервисному аккаунту роль `storage.uploader`
- Для возможности удаления необходима роль `storage.editor`
3. [Создайте статический ключ доступа](https://yandex.cloud/ru/docs/iam/operations/sa/create-access-key).

Добавляем новые переменные окружения.

- `YC_BUCKET` - название бакета
- `YC_ACCESS_KEY_ID` - идентификатор ключа
- `YC_ACCESS_SECRET` - секретный ключ

Путь к Media Library в админке <http://localhost:1337/admin/plugins/upload>

0 comments on commit b76baa0

Please sign in to comment.