How to use sftp upload provider in Strapi v4

I finally figured it out. In case someone stumbles across this:

in ./config/plugins.js

module.exports = ({ env }) => ({
  upload: {
    config: {
      provider: 'strapi-provider-upload-sftp-v2',
      providerOptions: {
        host: `${process.env.SFTP_HOST}`,
        port: `${process.env.SFTP_PORT}`,
        user: `${process.env.SFTP_USER}`,
        password: `${process.env.SFTP_PASSWORD}`,
        basePath: `${process.env.SFTP_BASEPATH}`,
        baseUrl: `${process.env.ASSET_URL}`
      },
      breakpoints: {
        xlarge: 1920,
        large: 1000,
        medium: 750,
        small: 500,
        xsmall: 64
      },
    }
  },
});

the breakpoints argument is optional.

./extensions/upload/config/settings.json is not needed and you don’t need to put the files in ./providers

2 Likes