Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shorwood/strapi-provider-upload-do
Strapi Upload Provider for Digital Ocean Spaces. This provider will upload to the space using the AWS S3 API.
https://github.com/shorwood/strapi-provider-upload-do
aws-s3 digitalocean strapi strapi-provider
Last synced: about 2 months ago
JSON representation
Strapi Upload Provider for Digital Ocean Spaces. This provider will upload to the space using the AWS S3 API.
- Host: GitHub
- URL: https://github.com/shorwood/strapi-provider-upload-do
- Owner: shorwood
- License: mit
- Fork: true (AdamZikmund/strapi-provider-upload-digitalocean)
- Created: 2020-04-22T17:26:59.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-08T12:04:07.000Z (11 months ago)
- Last Synced: 2024-07-05T14:01:11.848Z (3 months ago)
- Topics: aws-s3, digitalocean, strapi, strapi-provider
- Language: JavaScript
- Homepage:
- Size: 48.8 KB
- Stars: 58
- Watchers: 1
- Forks: 32
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-strapi - DigitalOcean - DigitalOcean S3 upload provider. (Strapi v3 / Plugin & Providers - v3)
README
# Strapi Upload Provider for Digital Ocean Spaces
- This provider is a fork of [AdamZikmund's](https://github.com/AdamZikmund) [strapi upload provider](https://github.com/AdamZikmund/strapi-provider-upload-digitalocean) for Digital Ocean spaces.This provider will upload to the space using the AWS S3 API.
## Parameters
- **key** : [Space access key](https://cloud.digitalocean.com/account/api/tokens)
- **secret** : [Space access secret](https://cloud.digitalocean.com/account/api/tokens)
- **endpoint** : Base URL of the space (e.g. `fra.digitaloceanspaces.com`)
- **space** : Name of the space in the Digital Ocean panel.
- **directory** : Name of the sub-directory you want to store your files in. (Optionnal - e.g. `/example`)
- **cdn** : CDN Endpoint - URL of the cdn of the space (Optionnal - e.g. `cdn.example.com`)## How to use
1. Install this package
```bash
npm i strapi-provider-upload-do
```
```bash
yarn add strapi-provider-upload-do
```
```bash
pnpm add strapi-provider-upload-do
```2. Create or update config in `./config/plugins.js` with content
```js
module.exports = ({env}) => ({
// ...
upload: {
config: {
provider: "strapi-provider-upload-do",
providerOptions: {
key: env('DO_SPACE_ACCESS_KEY'),
secret: env('DO_SPACE_SECRET_KEY'),
endpoint: env('DO_SPACE_ENDPOINT'),
space: env('DO_SPACE_BUCKET'),
directory: env('DO_SPACE_DIRECTORY'),
cdn: env('DO_SPACE_CDN'),
}
},
},
// ...
})```
3. Create `.env` and add provide Digital Ocean config.
```bash
DO_SPACE_ACCESS_KEY=
DO_SPACE_SECRET_KEY=
DO_SPACE_ENDPOINT=
DO_SPACE_BUCKET=
DO_SPACE_DIRECTORY=
DO_SPACE_CDN=
```with values obtained from tutorial:
> https://www.digitalocean.com/community/tutorials/how-to-create-a-digitalocean-space-and-api-key
Parameter `DO_SPACE_DIRECTORY` and `DO_SPACE_CDN` is optional and you can ommit them both in `.env` and `settings`.
## Resources
- [MIT License](LICENSE.md)
## Links
- [Strapi website](http://strapi.io/)
- [Strapi community on Slack](http://slack.strapi.io)
- [Strapi news on Twitter](https://twitter.com/strapijs)
- [Strapi docs about upload](https://strapi.io/documentation/3.0.0-beta.x/plugins/upload.html#configuration)