Med Kontainers integration för Strapi kan era redaktörer välja bilder, videor och filer direkt från ert DAM utan att ladda upp filer till Strapi. Strapi sparar bara en referens till filen – själva filen stannar i Kontainer och levereras via CDN.

Gå till Kontainers integrationssida för att läsa mer om användningsområden, fördelar med mera.

Krav

  • Strapi v5.50 eller senare (Strapi v4 stöds inte)
  • Node.js 18+
  • Ett Kontainer-konto (https://yourcompany.kontainer.com)
  • En utvecklare med åtkomst till er Strapi-kodbas och möjlighet att driftsätta

Håll er Strapi-installation uppdaterad med de senaste minor-versionerna så att ni är skyddade mot kända säkerhetsbrister.

Vad sparas var?

Era filer stannar i Kontainer. Inget laddas upp till Strapis mediabibliotek. Strapi sparar bara en JSON-referens till filen, som innehåller:

  • fileId, fileName, folderId – identifierare för att hämta filen
  • url – CDN-URL:en, inklusive den nedladdningsmall ni valde
  • thumbnailUrl, type, extension, dimensions, size
  • alt, description och alla anpassade fält från Kontainer

Eftersom alt-text och alla värden i anpassade fält följer med referensen behöver redaktörerna inte skriva in metadata på nytt i Strapi, och er frontend kan läsa dem direkt från Strapis API-svar.

Kom i gång

1. Installera pluginet

I ert Strapi-projekt:

npm install @kontainer/strapi-plugin

Checka in package.json och package-lock.json så att pluginet följer med när ni driftsätter. Strapi hittar och aktiverar pluginet automatiskt – inga ändringar i konfigurationsfiler behövs.

2. Lägg till Kontainer-fältet i en innehållstyp

I Content-Type Builder väljer ni Custom fields → Kontainer media, eller lägger till det direkt i schemat:

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

Content-Type Builder är skrivskyddad i produktion, så gör ändringen i er utvecklingsmiljö och driftsätt schemaändringen.

3. Bygg

Pluginets administrationsgränssnitt kompileras in i admin-paketet. Steget är obligatoriskt – utan det visas inte knappen "Choose from Kontainer".

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

4. Anslut till Kontainer

Gå till Settings → Kontainer → Configuration och ange er Kontainer-URL. Det är hela uppsättningen – inga API-nycklar eller miljövariabler behövs.

Inställningarna sparas i Strapis databas, så ni behöver göra dem en gång per miljö (staging och produktion var för sig).

Om ni hanterar konfigurationen som kod kan ni i stället ange Kontainer-URL:en i er Strapi-pluginkonfiguration, till exempel från en miljövariabel. En URL som sparats i adminpanelen har företräde.

5. Välj filer

I redigeraren klickar ni på Choose from Kontainer i fältet. Bläddra, sök och filtrera i ert Kontainer-bibliotek, använd vid behov en nedladdningsmall (beskärning, storlek, format) och välj filen. Strapi sparar referensen, och CDN-URL:en följer den mall ni valde.

Egna domäner och miniatyrbilder

Pluginet tillåter automatiskt att Kontainers miniatyrbilder från kontainer.com-domäner och från en URL i er pluginkonfigurationsfil laddas i Strapi-redigeraren. Om ni använder en egen domän och bara har angett den i adminpanelen lägger ni till domänen i direktiven img-src och media-src i er Strapi-middlewarekonfiguration (config/middlewares). Annars visas inte miniatyrbilderna i redigeraren. Pluginet loggar en varning vid start när detta gäller.

Valfritt: spåra var filer används

Kontainer kan visa var varje fil används i Strapi. Under Settings → Kontainer klickar ni på Generate för att skapa en token. Registrera sedan den visade endpoint-URL:en och token som en integration i Kontainer under Settings → Integrations. Kontainer hämtar därefter information från Strapi och visar användningen i alla innehållstyper, inklusive utkast, språkversioner, komponenter och dynamiska zoner.

Utvecklare kan också kontrollera var en enskild fil används via pluginets usage-endpoint (/api/kontainer/usage/:fileId), autentiserad med en Strapi API-token.

Använd referensen i er frontend

Referensen returneras oförändrad från Strapis innehålls-API:

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

Hämta filen från url – den levereras från Kontainers CDN.

Support

Om ni behöver hjälp med att sätta upp eller konfigurera pluginet för Strapi hjälper vår support gärna till.

Kontakta: support@kontainer.com

Pluginet har öppen källkod (MIT-licens). Ni hittar källkoden på GitHub och paketet på npm.