Ceritanya kemarin buat cms menggunakan strapi, tapi kita gak punya storage di aws. dimana plugin standard untuk strapi menggunakan aws s3.
Tapi kita punya linode Object Storage (s3). Berikut panduan buat kamu yang juga kebetulan menggunakan linode dan mau membuat cms menggunakan strapi
Apa yang Kamu Butuhkan?
Sebelum kita mulai, pastikan kamu sudah punya:
Akun Linode (kalau belum, daftar dulu ya!).
Proyek Strapi yang sudah terpasang.
Langkah-langkah Integrasi Linode S3 di Strapi
1. Instal Paket
Pertama-tama, kita perlu menginstal paketstrapi-provider-upload-linode
. Ini adalah cara untuk menghubungkan Strapi dengan Linode S3. Pilih salah satu perintah di bawah ini sesuai dengan manajer paket yang kamu gunakan:
Kalau pakai npm, ketik:
npm i strapi-provider-upload-linode
Kalau pakai yarn, ketik:
yarn add strapi-provider-upload-linode
2. Siapkan Konfigurasi Environment
Setelah itu, kita perlu bikin file.env
di folder proyek Strapi kamu. Di dalam file ini, tambahkan konfigurasi untuk Linode. Berikut contohnya:
LI_OBJECT_S3_ACCESS_KEY=
LI_OBJECT_S3_SECRET_KEY=
LI_OBJECT_S3_ENDPOINT=
LI_OBJECT_S3_BUCKET_NAME=
LI_OBJECT_S3_DIRECTORY= # opsional
LI_OBJECT_S3_CDN= # opsional
Jangan lupa untuk mengisi nilai-nilai di atas dengan informasi dari akun Linode kamu. YangLI_OBJECT_S3_DIRECTORY
danLI_OBJECT_S3_CDN
itu opsional, jadi bisa kamu lewati kalau tidak diperlukan.
3. Update Konfigurasi Plugin
Sekarang, kita perlu mengupdate konfigurasi di./config/plugins.js
. Buka file tersebut dan tambahkan kode ini:
module.exports = ({ env }) => ({
// ...
upload: {
config: {
provider: "strapi-provider-upload-linode",
providerOptions: {
key: env("LI_OBJECT_S3_ACCESS_KEY"),
secret: env("LI_OBJECT_S3_SECRET_KEY"),
endpoint: env("LI_OBJECT_S3_ENDPOINT"),
space: env("LI_OBJECT_S3_BUCKET_NAME"),
directory: env("LI_OBJECT_S3_DIRECTORY"), // opsional
cdn: env("LI_OBJECT_S3_CDN"), // opsional
},
},
},
// ...
});
4. Atur Middleware Keamanan
Nah, untuk bisa lihat thumbnail file dengan benar di Media Library, kita perlu sedikit ubah pengaturan keamanan. Buka file./config/middlewares.js
dan ganti bagianstrapi::security
dengan kode berikut:
module.exports = [
// ...
{
name: "strapi::security",
config: {
contentSecurityPolicy: {
useDefaults: true,
directives: {
"connect-src": ["'self'", "https:"],
"img-src": [
"'self'",
"data:",
"blob:",
"market-assets.strapi.io",
"yourBucketName.yourRegion.linodeobjects.com", // ganti di sini
],
"media-src": [
"'self'",
"data:",
"blob:",
"market-assets.strapi.io",
"yourBucketName.yourRegion.linodeobjects.com", // ganti di sini
],
upgradeInsecureRequests: null,
},
},
},
},
// ...
];
GantiyourBucketName
danyourRegion
dengan nama bucket dan region yang sesuai dengan pengaturan Linode kamu.
5. Restart Strapi
Setelah semua langkah di atas selesai, saatnya untuk restart server Strapi kamu. Ketik perintah ini di terminal:
npm run develop
atau
yarn develop
Sekarang kamu sudah berhasil menghubungkan Linode S3 dengan Strapi! Kamu bisa mulai meng-upload file dan mengelola media dengan lebih mudah. Jika ada masalah, jangan ragu untuk cek kembali konfigurasi yang sudah kamu buat atau lihat dokumentasi resmi Strapi dan Linode. Semoga sukses, dan selamat mencoba!