Kontainer Helpdesk Kontainer Helpdesk

  • Knowledge base
  • End-user guide
  • Admin user guide
  • Support
  • English
    • Deutsch
Home / Admin settings, Integrations & plugins / Strapi Integration Guide

Strapi Integration Guide

Add-on Feature Premium+ plans DAM

With Kontainer's Strapi integration, your editors can select images, videos, and files directly from your DAM without uploading files to Strapi.
Strapi only stores a reference to the file; the actual asset stays in Kontainer and is delivered via CDN.

Go to the Kontainer integration page to learn more about use cases, benefits and more.

Requirements

  • Strapi v5 (Strapi v4 is not supported)
  • Node.js 18+
  • A Kontainer account (https://yourcompany.kontainer.com)
  • A developer with access to your Strapi codebase and the ability to deploy

What Gets Stored Where?

Your files stay in Kontainer. Nothing is uploaded to Strapi's media library. Strapi stores only a JSON reference to the asset, which includes:

  • fileId, fileName, folderId - identifiers for retrieving the asset
  • url - the CDN URL, including the download template you picked
  • thumbnailUrl, type, extension, dimensions, size
  • alt, description and every Kontainer custom field

Because the alt text and all custom field values travel with the reference, editors do not retype metadata in Strapi, and your frontend can read them straight off the Strapi API response.

Getting started

1. Install the plugin

In your Strapi project:

npm install @kontainer/strapi-plugin

Commit package.json and package-lock.json so the plugin ships with your deploy. Strapi discovers and enables the plugin automatically - no configuration file changes needed.

2. Add the Kontainer field to a content type

In the Content-Type Builder pick Custom fields → Kontainer media, or add it to the schema directly:

"hero": {
"type": "customField",
"customField": "plugin::kontainer.media"
}

The Content-Type Builder is read-only in production, so make this change in your development environment and deploy the schema change.

3. Build

The plugin's admin interface is compiled into the admin bundle. This step is required - without it, the "Choose from Kontainer" button will not appear.

npm ci --omit=dev
npm run build
npm run start

4. Connect to Kontainer

Go to Settings → Kontainer → Configuration and enter your Kontainer URL. That's the whole setup - there are no API keys or environment variables required.

Settings are stored in the Strapi database, so you'll need to set them once per environment (staging and production separately).

5. Select assets

In the editor, click Choose from Kontainer on the field. Browse, search, and filter your Kontainer library, optionally apply a download template (crop, resize, format), and select the file. Strapi saves the reference; the CDN URL reflects the template you chose.

Optional: file usage tracking

Kontainer can show you where each file is used in Strapi. Under Settings → Kontainer, click Generate to create a token, then register the displayed endpoint URL plus the token as an integration in Kontainer under Settings → Integrations. Kontainer then polls Strapi and reports usage across all content types, including drafts, locales, components, and dynamic zones.

Using the reference in your frontend

The reference comes back unchanged from the Strapi content API:

const page = await fetch(`${STRAPI_URL}/api/pages/${documentId}`).then((r) => r.json());
const { url, alt } = page.data.hero;

Request the asset from url - it is served from Kontainer's CDN.

Support

If you need help setting up or configuring the Strapi plugin, our support team is happy to assist.

Please contact: support@kontainer.com

Add-on FeaturePremium+ plansDAM Admin settingsIntegrations & plugins

Table of Contents

Related Articles

  • Slack Notifications from Kontainer
  • Multi-Brand Guide
  • WordPress Integration Guide
  • Shopify Integration Guide

Follow us

Remote support

Book a support session here

For desktop sharing click here

Cookie & Privacy Policy

Please read our privacy policy

Click here

Copyright 2026 Kontainer All rights reserved.