Skip to content
This repository was archived by the owner on Dec 26, 2023. It is now read-only.

Commit 45b6b61

Browse files
authored
add object storage. configure middleware. add storage plugin (#9)
1 parent 09cdba7 commit 45b6b61

File tree

4 files changed

+140
-13
lines changed

4 files changed

+140
-13
lines changed

cms/config/middlewares.js

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,38 @@
11
module.exports = [
2-
'strapi::errors',
3-
'strapi::security',
4-
'strapi::cors',
5-
'strapi::poweredBy',
6-
'strapi::logger',
7-
'strapi::query',
8-
'strapi::body',
9-
'strapi::session',
10-
'strapi::favicon',
11-
'strapi::public',
2+
"strapi::errors",
3+
"strapi::security",
4+
"strapi::cors",
5+
"strapi::poweredBy",
6+
"strapi::logger",
7+
"strapi::query",
8+
"strapi::body",
9+
"strapi::session",
10+
"strapi::favicon",
11+
"strapi::public",
12+
{
13+
name: "strapi::security",
14+
config: {
15+
contentSecurityPolicy: {
16+
useDefaults: true,
17+
directives: {
18+
"connect-src": ["'self'", "https:"],
19+
"img-src": [
20+
"'self'",
21+
"data:",
22+
"blob:",
23+
"dl.airtable.com",
24+
"sitemedia.ams3.digitaloceanspaces.com",
25+
],
26+
"media-src": [
27+
"'self'",
28+
"data:",
29+
"blob:",
30+
"dl.airtable.com",
31+
"sitemedia.ams3.digitaloceanspaces.com",
32+
],
33+
upgradeInsecureRequests: null,
34+
},
35+
},
36+
},
37+
},
1238
];

cms/config/plugins.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module.exports = ({ env }) => ({
2+
// ...
3+
upload: {
4+
config: {
5+
provider: "aws-s3",
6+
providerOptions: {
7+
accessKeyId: "DO004M8VR6Y63M4TBZVW", // env("SCALEWAY_ACCESS_KEY_ID"),
8+
secretAccessKey: "lvnAQwamgpmuhkULWnCsjjl3HtEnj6uGcCTkgxGov9M", // env("SCALEWAY_ACCESS_SECRET"),
9+
endpoint: "ams3.digitaloceanspaces.com", // env("SCALEWAY_ENDPOINT"), // e.g. "s3.fr-par.scw.cloud"
10+
params: {
11+
Bucket: "sitemedia", //env("SCALEWAY_BUCKET"),
12+
},
13+
},
14+
},
15+
},
16+
// ...
17+
});

cms/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"@strapi/plugin-graphql": "4.2.2",
1919
"@strapi/plugin-i18n": "4.2.2",
2020
"@strapi/plugin-users-permissions": "4.2.2",
21+
"@strapi/provider-upload-aws-s3": "^4.3.2",
2122
"@strapi/strapi": "4.2.2",
2223
"better-sqlite3": "7.4.6",
2324
"pg": "^8.7.3"

cms/yarn.lock

Lines changed: 86 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1973,6 +1973,14 @@
19731973
"@strapi/utils" "4.2.2"
19741974
sendmail "^1.6.1"
19751975

1976+
"@strapi/provider-upload-aws-s3@^4.3.2":
1977+
version "4.3.2"
1978+
resolved "https://registry.yarnpkg.com/@strapi/provider-upload-aws-s3/-/provider-upload-aws-s3-4.3.2.tgz#20ca7ae3c8e3f702ab26107bc24d4d40caa97da6"
1979+
integrity sha512-ESFgdki07B3Dcw2z6zigNasT86Z9XxY5ALYrUmE6ToWZSAKf0nWIfaRjPydfIlay7nofXsxavFFmxn5wWQ83FA==
1980+
dependencies:
1981+
aws-sdk "2.892.0"
1982+
lodash "4.17.21"
1983+
19761984
19771985
version "4.2.2"
19781986
resolved "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.2.2.tgz"
@@ -3025,6 +3033,21 @@ available-typed-arrays@^1.0.5:
30253033
resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
30263034
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
30273035

3036+
3037+
version "2.892.0"
3038+
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.892.0.tgz#adec48f52f4b6f5c576dcbfac020bcec1eed3a25"
3039+
integrity sha512-OOXJ15AnJJMHZYXJQVy22Wjnp5GrZCfvCxmoZuXdsLNs8M+BL4mfBqma82+UkM2NhJgLYuAhDfvFUBob6VGIWw==
3040+
dependencies:
3041+
buffer "4.9.2"
3042+
events "1.1.1"
3043+
ieee754 "1.1.13"
3044+
jmespath "0.15.0"
3045+
querystring "0.2.0"
3046+
sax "1.2.1"
3047+
url "0.10.3"
3048+
uuid "3.3.2"
3049+
xml2js "0.4.19"
3050+
30283051
aws-sign2@~0.7.0:
30293052
version "0.7.0"
30303053
resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"
@@ -3124,7 +3147,7 @@ balanced-match@^1.0.0:
31243147
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
31253148
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
31263149

3127-
base64-js@^1.3.1:
3150+
base64-js@^1.0.2, base64-js@^1.3.1:
31283151
version "1.5.1"
31293152
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
31303153
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -3422,6 +3445,15 @@ buffer-xor@^1.0.3:
34223445
resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"
34233446
integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
34243447

3448+
3449+
version "4.9.2"
3450+
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
3451+
integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
3452+
dependencies:
3453+
base64-js "^1.0.2"
3454+
ieee754 "^1.1.4"
3455+
isarray "^1.0.0"
3456+
34253457
buffer@^5.1.0, buffer@^5.5.0:
34263458
version "5.7.1"
34273459
resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
@@ -5004,6 +5036,11 @@ eventemitter3@^4.0.0:
50045036
resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
50055037
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
50065038

5039+
5040+
version "1.1.1"
5041+
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
5042+
integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==
5043+
50075044
events@^3.2.0, events@^3.3.0:
50085045
version "3.3.0"
50095046
resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
@@ -6095,7 +6132,12 @@ icss-utils@^5.0.0, icss-utils@^5.1.0:
60956132
resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz"
60966133
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
60976134

6098-
ieee754@^1.1.13, ieee754@^1.2.1:
6135+
6136+
version "1.1.13"
6137+
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
6138+
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
6139+
6140+
ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1:
60996141
version "1.2.1"
61006142
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
61016143
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -6629,7 +6671,7 @@ [email protected]:
66296671
resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
66306672
integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
66316673

6632-
[email protected], isarray@~1.0.0:
6674+
[email protected], isarray@^1.0.0, isarray@~1.0.0:
66336675
version "1.0.0"
66346676
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
66356677
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
@@ -6675,6 +6717,11 @@ jest-worker@^27.4.5:
66756717
merge-stream "^2.0.0"
66766718
supports-color "^8.0.0"
66776719

6720+
6721+
version "0.15.0"
6722+
resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
6723+
integrity sha512-+kHj8HXArPfpPEKGLZ+kB5ONRTCiGQXo8RQYL0hH8t6pWXUBBK5KkkQmTNOwKK4LEsd0yTsgtjJVm4UBSZea4w==
6724+
66786725
joycon@^3.0.1:
66796726
version "3.1.1"
66806727
resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz"
@@ -9490,6 +9537,16 @@ saslprep@^1.0.0:
94909537
dependencies:
94919538
sparse-bitfield "^3.0.3"
94929539

9540+
9541+
version "1.2.1"
9542+
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
9543+
integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==
9544+
9545+
sax@>=0.6.0:
9546+
version "1.2.4"
9547+
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
9548+
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
9549+
94939550
scheduler@^0.20.2:
94949551
version "0.20.2"
94959552
resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz"
@@ -10618,6 +10675,14 @@ [email protected]:
1061810675
resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz"
1061910676
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
1062010677

10678+
10679+
version "0.10.3"
10680+
resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
10681+
integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==
10682+
dependencies:
10683+
punycode "1.3.2"
10684+
querystring "0.2.0"
10685+
1062110686
url@^0.11.0:
1062210687
version "0.11.0"
1062310688
resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz"
@@ -10663,6 +10728,11 @@ [email protected]:
1066310728
resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
1066410729
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
1066510730

10731+
10732+
version "3.3.2"
10733+
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
10734+
integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
10735+
1066610736
uuid@^3.3.2:
1066710737
version "3.4.0"
1066810738
resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz"
@@ -11031,6 +11101,19 @@ xdg-basedir@^4.0.0:
1103111101
resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz"
1103211102
integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
1103311103

11104+
11105+
version "0.4.19"
11106+
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
11107+
integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
11108+
dependencies:
11109+
sax ">=0.6.0"
11110+
xmlbuilder "~9.0.1"
11111+
11112+
xmlbuilder@~9.0.1:
11113+
version "9.0.7"
11114+
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
11115+
integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==
11116+
1103411117
xss@^1.0.6, xss@^1.0.8:
1103511118
version "1.0.13"
1103611119
resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.13.tgz#6e48f616128b39f366dfadc57411e1eb5b341c6c"

0 commit comments

Comments
 (0)