Con la integración de Kontainer con Strapi, tus editores pueden elegir imágenes, vídeos y archivos directamente desde tu DAM sin subir archivos a Strapi.
Strapi solo guarda una referencia al archivo; el archivo en sí permanece en Kontainer y se entrega a través de la CDN.
Ve a la página de integraciones de Kontainer para saber más sobre los casos de uso, las ventajas y más.
Requisitos
- Strapi v5.50 o superior (Strapi v4 no es compatible)
- Node.js 18 o superior
- Una cuenta de Kontainer (https://yourcompany.kontainer.com)
- Un desarrollador con acceso al código de tu Strapi y con capacidad para desplegar
Mantén tu instalación de Strapi actualizada con las últimas versiones menores para estar protegido frente a vulnerabilidades de seguridad conocidas.
¿Qué se guarda y dónde?
Tus archivos se quedan en Kontainer. No se sube nada a la biblioteca multimedia de Strapi. Strapi solo guarda una referencia JSON al archivo, que incluye:
fileId, fileName, folderId: identificadores para recuperar el archivourl: la URL de la CDN, incluida la plantilla de descarga que hayas elegidothumbnailUrl, type, extension, dimensions, sizealt, descriptiony todos los campos personalizados de Kontainer
Como el texto alternativo y todos los valores de los campos personalizados viajan con la referencia, los editores no tienen que volver a escribir los metadatos en Strapi, y tu frontend puede leerlos directamente de la respuesta de la API de Strapi.
Primeros pasos
1. Instala el plugin
En tu proyecto de Strapi:
npm install @kontainer/strapi-plugin
Sube a tu repositorio (commit) package.json y package-lock.json para que el plugin se incluya en tu despliegue. Strapi detecta y activa el plugin automáticamente: no hace falta cambiar ningún archivo de configuración.
2. Añade el campo de Kontainer a un tipo de contenido
En el Content-Type Builder, elige «Custom fields → Kontainer media» (campos personalizados), o añádelo directamente al esquema:
"hero": {
"type": "customField",
"customField": "plugin::kontainer.media"
}
El Content-Type Builder es de solo lectura en producción, así que haz este cambio en tu entorno de desarrollo y despliega el cambio de esquema.
3. Compila
La interfaz de administración del plugin se compila dentro del paquete de administración. Este paso es obligatorio: sin él, el botón «Choose from Kontainer» no aparece.
npm ci --omit=dev
npm run build
npm run start
4. Conéctate a Kontainer
Ve a «Settings → Kontainer → Configuration» (ajustes, Kontainer, configuración) e introduce la URL de tu Kontainer. Eso es toda la configuración: no hacen falta claves de API ni variables de entorno.
Los ajustes se guardan en la base de datos de Strapi, así que tendrás que definirlos una vez por entorno (preproducción y producción por separado).
Si gestionas tu configuración como código, puedes definir la URL de Kontainer en la configuración del plugin de Strapi, por ejemplo desde una variable de entorno. Una URL guardada en el panel de administración tiene prioridad.
5. Elige archivos
En el editor, haz clic en «Choose from Kontainer» (elegir desde Kontainer) en el campo. Navega, busca y filtra tu biblioteca de Kontainer, aplica opcionalmente una plantilla de descarga (recorte, cambio de tamaño, formato) y elige el archivo. Strapi guarda la referencia; la URL de la CDN refleja la plantilla que hayas elegido.
Dominios personalizados y miniaturas
El plugin permite automáticamente que las miniaturas de Kontainer de dominios kontainer.com y de una URL definida en tu archivo de configuración del plugin se carguen en el editor de Strapi. Si usas un dominio personalizado y solo lo has introducido en el panel de administración, añade el dominio a las directivas img-src y media-src de la configuración de middlewares de Strapi (config/middlewares). De lo contrario, las miniaturas no se cargarán en el editor. El plugin registra una advertencia al arrancar cuando se da este caso.
Opcional: seguimiento del uso de archivos
Kontainer puede mostrarte dónde se usa cada archivo en Strapi. En «Settings → Kontainer», haz clic en «Generate» (generar) para crear un token y registra después la URL del endpoint que se muestra, junto con el token, como integración en Kontainer, en Ajustes → Integraciones. Kontainer consulta entonces Strapi e informa del uso en todos los tipos de contenido, incluidos borradores, idiomas (locales), componentes y zonas dinámicas.
Los desarrolladores también pueden comprobar dónde se usa un archivo concreto mediante el endpoint de uso del plugin (/api/kontainer/usage/:fileId), autenticado con un token de API de Strapi.
Usar la referencia en tu frontend
La referencia vuelve sin cambios de la API de contenido de Strapi:
const page = await fetch(`${STRAPI_URL}/api/pages/${documentId}`).then((r) => r.json());
const { url, alt } = page.data.hero;
Solicita el archivo desde url: se sirve desde la CDN de Kontainer.
Soporte
Si necesitas ayuda para configurar el plugin de Strapi, nuestro equipo de soporte te ayudará encantado.
Escribe a: support@kontainer.com
El plugin es de código abierto (licencia MIT). Puedes encontrar el código fuente en GitHub y el paquete en npm.