Med Kontainers Strapi-integration kan jeres redaktører vælge billeder, videoer og filer direkte fra jeres DAM uden at uploade filer til Strapi.
Strapi gemmer kun en reference til filen. Selve filen bliver i Kontainer og leveres via CDN.

Gå til Kontainers integrationsside for at høre mere om anvendelser, fordele med mere.

Krav

  • Strapi v5.50 eller nyere (Strapi v4 understøttes ikke)
  • Node.js 18+
  • En Kontainer-konto (https://yourcompany.kontainer.com)
  • En udvikler med adgang til jeres Strapi-kodebase og mulighed for at deploye

Hold jeres Strapi-installation opdateret med de nyeste minor-versioner, så I er beskyttet mod kendte sikkerhedshuller.

Hvad gemmes hvor?

Jeres filer bliver i Kontainer. Der uploades intet til Strapis mediebibliotek. Strapi gemmer kun en JSON-reference til filen, som indeholder:

  • fileId, fileName, folderId – identifikatorer til at hente filen
  • url – CDN-URL'en, inklusive den downloadskabelon, I valgte
  • thumbnailUrl, type, extension, dimensions, size
  • alt, description og alle tilpassede felter fra Kontainer

Fordi alt-teksten og alle værdier i tilpassede felter følger med referencen, behøver redaktørerne ikke skrive metadata igen i Strapi, og jeres frontend kan læse dem direkte fra Strapi-API'ets svar.

Kom i gang

1. Installér pluginet

I jeres Strapi-projekt:

npm install @kontainer/strapi-plugin

Commit package.json og package-lock.json, så pluginet følger med jeres deploy. Strapi finder og aktiverer pluginet automatisk – der skal ikke ændres noget i konfigurationsfiler.

2. Tilføj Kontainer-feltet til en indholdstype

I Content-Type Builder vælger I Custom fields → Kontainer media, eller I tilføjer det direkte i skemaet:

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

Content-Type Builder er skrivebeskyttet i produktion, så lav ændringen i jeres udviklingsmiljø, og deploy skemaændringen.

3. Byg

Pluginets admingrænseflade kompileres ind i admin-bundlen. Trinnet er påkrævet – uden det vises knappen "Choose from Kontainer" ikke.

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

4. Opret forbindelse til Kontainer

Gå til Settings → Kontainer → Configuration, og skriv jeres Kontainer-URL. Det er hele opsætningen – der kræves ingen API-nøgler eller miljøvariabler.

Indstillingerne gemmes i Strapi-databasen, så I skal angive dem én gang pr. miljø (staging og produktion hver for sig).

Hvis I styrer konfigurationen som kode, kan I i stedet angive Kontainer-URL'en i jeres Strapi-plugin-konfiguration, for eksempel fra en miljøvariabel. En URL, der er gemt i adminpanelet, har forrang.

5. Vælg filer

I editoren klikker I på Choose from Kontainer på feltet. Gennemse, søg og filtrér jeres Kontainer-bibliotek, anvend eventuelt en downloadskabelon (beskæring, ændring af størrelse, format), og vælg filen. Strapi gemmer referencen, og CDN-URL'en afspejler den skabelon, I valgte.

Egne domæner og thumbnails

Pluginet tillader automatisk, at Kontainer-thumbnails fra kontainer.com-domæner og fra en URL i jeres plugin-konfigurationsfil indlæses i Strapi-editoren. Bruger I et eget domæne og har kun angivet det i adminpanelet, skal I tilføje domænet til direktiverne img-src og media-src i jeres Strapi-middlewarekonfiguration (config/middlewares). Ellers vises thumbnails ikke i editoren. Pluginet skriver en advarsel i loggen ved opstart, når det er tilfældet.

Valgfrit: sporing af filbrug

Kontainer kan vise jer, hvor hver fil bruges i Strapi. Under Settings → Kontainer klikker I på Generate for at oprette et token. Registrér derefter den viste endpoint-URL sammen med tokenet som en integration i Kontainer under Settings → Integrations. Kontainer spørger så Strapi løbende og rapporterer brug på tværs af alle indholdstyper, inklusive kladder, locales, komponenter og dynamiske zoner.

Udviklere kan også tjekke, hvor en enkelt fil bruges, via pluginets usage-endpoint (/api/kontainer/usage/:fileId), godkendt med et Strapi API-token.

Brug referencen i jeres frontend

Referencen kommer uændret tilbage fra Strapis indholds-API:

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

Hent filen fra url – den leveres fra Kontainers CDN.

Support

Har I brug for hjælp til at sætte Strapi-pluginet op eller konfigurere det, hjælper vores supportteam gerne.

Kontakt: support@kontainer.com

Pluginet er open source (MIT-licens). I kan finde kildekoden på GitHub og pakken på npm.