Strapi V4.0.6 Heroku Cloudinary - Error 500 when uploading images in production

System Information
  • Strapi Version: 4.0.6
  • Operating System: Windows 10
  • Database: POSTGRES
  • Node Version: 16.13.2
  • NPM Version: 8.1.2

Hi,
I connected Strapi with cloudinary following these instructions: @strapi/provider-upload-cloudinary

The upload is working great in local. But as soon as I push it to heroku, I get an “error 500” on upload (see image below)

Any idea why ?

More infos below:

  • config/middleware.js
module.exports = [
  'strapi::errors',
  {
    name: 'strapi::security',
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          'connect-src': ["'self'", 'https:'],
          'img-src': ["'self'", 'data:', 'blob:', 'res.cloudinary.com'],
          'media-src': ["'self'", 'data:', 'blob:', 'res.cloudinary.com'],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
  'strapi::cors',
  'strapi::poweredBy',
  'strapi::logger',
  'strapi::query',
  'strapi::body',
  'strapi::session',
  'strapi::favicon',
  'strapi::public',
];
  • 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: {},
        },
        },
    },
    // ...
});

Thank you in advance and have a good day :smiley:

Did you forget to set environment variables in Heroku?

1 Like

@mckennapaul27 Alright, it’s monday and I didn’t get enough sleep ! I indeed forgot the env variables in Heroku :sweat_smile:
Thanks and have a nice day :slight_smile:

1 Like

Hello, i have the same issue, how did you set the env variables ??

Thanks.

Hi @Diop_Nikuze ,

Not sure if you have figured this out but to fix this error, head over to your Heroku dashboard, click on the project and then under settings you will see a section called Config Vars. Add your CLOUDINARY_KEY, CLOUDINARY_NAME and CLOUDINARY_SECRET there. This should fix the problem.

1 Like

Thanks alot @ Franco_Labuschagne you answer helped me with the same problem.

what i did was exactly as you said it.

And it worked so thank you.

1 Like

I ran into the same error, but not on Heroku. I’m not responsible of the deploying process, but the guy who handled this told me that the .env file is enough for the env variables. Could the problem come from elsewhere?