Met de Strapi-integratie van Kontainer kiezen je redacteuren afbeeldingen, video's en bestanden rechtstreeks uit je DAM, zonder bestanden naar Strapi te uploaden. Strapi slaat alleen een verwijzing naar het bestand op; het eigenlijke bestand blijft in Kontainer en wordt via een CDN geleverd.
Op de integratiepagina van Kontainer leest je meer over toepassingen, voordelen en meer.
Vereisten
- Strapi v5.50 of nieuwer (Strapi v4 wordt niet ondersteund)
- Node.js 18+
- Een Kontainer-account (https://jouwbedrijf.kontainer.com)
- Een ontwikkelaar met toegang tot je Strapi-codebase en de mogelijkheid om uit te rollen
Houd je Strapi-installatie up-to-date met de nieuwste minor-releases, zodat je beschermd blijft tegen bekende beveiligingslekken.
Wat wordt waar opgeslagen?
Je bestanden blijven in Kontainer. Er wordt niets geüpload naar de mediabibliotheek van Strapi. Strapi slaat alleen een JSON-verwijzing naar het bestand op, met daarin:
fileId, fileName, folderId– identificatiegegevens om het bestand op te halenurl– de CDN-URL, inclusief het downloadsjabloon dat je hebt gekozenthumbnailUrl, type, extension, dimensions, sizealt, descriptionen elk aangepast veld uit Kontainer
Omdat de alt-tekst en alle waarden van aangepaste velden met de verwijzing meereizen, hoeven redacteuren metadata niet opnieuw in te typen in Strapi, en kan je frontend ze rechtstreeks uit het antwoord van de Strapi-API lezen.
Aan de slag
1. De plug-in installeren
Voer in je Strapi-project uit:
npm install @kontainer/strapi-plugin
Commit package.json en package-lock.json, zodat de plug-in met je uitrol meekomt. Strapi vindt de plug-in automatisch en schakelt hem in – er zijn geen wijzigingen in configuratiebestanden nodig.
2. Het Kontainer-veld aan een contenttype toevoegen
Kies in de Content-Type Builder Custom fields → Kontainer media, of voeg het rechtstreeks aan het schema toe:
"hero": {
"type": "customField",
"customField": "plugin::kontainer.media"
}
De Content-Type Builder is in productie alleen-lezen, dus voer deze wijziging uit in je ontwikkelomgeving en rol de schemawijziging uit.
3. Bouwen
De beheerinterface van de plug-in wordt in de admin-bundel gecompileerd. Deze stap is vereist – zonder de knop "Choose from Kontainer" verschijnt niet.
npm ci --omit=dev
npm run build
npm run start
4. Verbinding maken met Kontainer
Ga naar Settings → Kontainer → Configuration en voer je Kontainer-URL in. Dat is de hele inrichting – er zijn geen API-sleutels of omgevingsvariabelen nodig.
De instellingen worden in de Strapi-database opgeslagen, dus je moet ze één keer per omgeving instellen (staging en productie afzonderlijk).
Beheer je de configuratie als code, dan kun je de Kontainer-URL in plaats daarvan instellen in de plug-inconfiguratie van Strapi, bijvoorbeeld vanuit een omgevingsvariabele. Een URL die in het beheerpaneel is opgeslagen, heeft voorrang.
5. Bestanden kiezen
Klik in de editor bij het veld op Choose from Kontainer. Blader, zoek en filter in je Kontainer-bibliotheek, pas eventueel een downloadsjabloon toe (bijsnijden, formaat wijzigen, bestandsformaat) en kies het bestand. Strapi slaat de verwijzing op; de CDN-URL weerspiegelt het sjabloon dat je hebt gekozen.
Eigen domeinen en miniaturen
De plug-in staat automatisch toe dat Kontainer-miniaturen van kontainer.com-domeinen en van een URL in je plug-inconfiguratiebestand in de Strapi-editor worden geladen. Gebruik je een eigen domein en heb je dat alleen in het beheerpaneel ingevoerd, voeg het domein dan toe aan de richtlijnen img-src en media-src in je Strapi-middlewareconfiguratie (config/middlewares). Anders worden miniaturen niet in de editor geladen. De plug-in logt bij het opstarten een waarschuwing wanneer dit van toepassing is.
Optioneel: gebruik van bestanden bijhouden
Kontainer kan laten zien waar elk bestand in Strapi wordt gebruikt. Klik onder Settings → Kontainer op Generate om een token aan te maken, en registreer daarna de getoonde endpoint-URL plus het token als integratie in Kontainer onder Settings → Integrations. Kontainer bevraagt Strapi daarna en rapporteert het gebruik over alle contenttypen, inclusief concepten, locales, componenten en dynamische zones.
Ontwikkelaars kunnen ook controleren waar één bestand wordt gebruikt via het usage-endpoint van de plug-in (/api/kontainer/usage/:fileId), geauthenticeerd met een Strapi-API-token.
De verwijzing in je frontend gebruiken
De verwijzing komt ongewijzigd terug uit de content-API van Strapi:
const page = await fetch(`${STRAPI_URL}/api/pages/${documentId}`).then((r) => r.json());
const { url, alt } = page.data.hero;
Vraag het bestand op via url – het wordt geleverd vanuit het CDN van Kontainer.
Support
Heb je hulp nodig bij het instellen of configureren van de Strapi-plug-in? Ons supportteam helpt je graag.
Neem contact op via: support@kontainer.com
De plug-in is open source (MIT-licentie). Je vindt de broncode op GitHub en het pakket op npm.