I don't understand how to load extensions from my Azure Storage account

Hi, I’m new to deploying Directus apps on Azure. The reason I’m here is that I’m trying to load a custom interface extension that I’ve created.

I uploaded the dist folder containing the index.js file to my Azure Storage container called extensions, and I’ve also followed all the instructions in the documentation: Deploy Directus to Azure Web Apps | Directus Docs.

I added the STORAGE_AZURE_* environment variables in the Azure Portal. When my app starts, all the extensions downloaded from the marketplace are loaded, but my custom extension isn’t.

I need help, please. If you need more details about my implementation, I’ll be happy to provide them.

Hey @rchl!

Two things that are likely tripping you up here:

  1. You need EXTENSIONS_LOCATION — configuring STORAGE_AZURE_* sets up Azure as a storage driver, but you also need to tell Directus to actually sync extensions from that storage location. Add EXTENSIONS_LOCATION=azure (or whatever you named the location in STORAGE_LOCATIONS) to your env vars. Without it, Directus only looks at the local ./extensions folder.

  2. Upload the full extension, not just dist — the extension scanner discovers extensions by looking for package.json files. So the structure in your storage container should look like:

my-custom-interface/
├── package.json
└── dist/
    └── index.js

Just uploading the dist folder on its own won’t be picked up.

The reason your marketplace extensions work is that they go through a separate install flow that already handles this correctly. Custom extensions need to follow the folder convention above so the scanner can find them :+1: