Skip to content
Go back

Integrating Strapi 5 with Cloudinary for Media Handling

Integrating Strapi with Cloudinary for Media Handling

Introduction

Using Cloudinary as a media provider offloads storage and delivers optimized, transformed media via CDN. This guide configures Strapi with Cloudinary.

Prerequisites

Step 1: Install Cloudinary Provider

npm install @strapi/provider-upload-cloudinary

Step 2: Configure Provider

Update config/plugins.js:

module.exports = ({ env }) => ({
  upload: {
    config: {
      provider: "cloudinary",
      providerOptions: {
        cloud_name: env("CLOUDINARY_NAME"),
        api_key: env("CLOUDINARY_KEY"),
        api_secret: env("CLOUDINARY_SECRET"),
      },
      actionOptions: {
        upload: {},
        delete: {},
      },
    },
  },
});

Set environment variables in .env:

CLOUDINARY_NAME=my-cloud-name
CLOUDINARY_KEY=my-api-key
CLOUDINARY_SECRET=my-api-secret

Step 3: Restart Strapi

npm run develop

Step 4: Upload and Fetch Media

Step 5: Apply Transformations

Use query parameters:

<img
  src="https://res.cloudinary.com/my-cloud-name/image/upload/w_300,h_200,c_fill/v1615551234/sample.jpg"
/>

Summary

Integrating Cloudinary with Strapi centralizes media storage, offloads bandwidth, and enables on-the-fly transformations. Use CDN URLs for fast, optimized delivery.


Share this post on:

Previous Post
Deploying a Multi-Container App on Dokploy
Next Post
Migrating Strapi Content Between Environments