Deploy
Introducción
En este documento encontrarás los pasos esenciales para subir una instancia de Strapi a producción, los requisitos de hardware y software necesarios, así como las mejores prácticas para su despliegue.
Para más detalles, puedes consultar la documentación oficial de Strapi:
Documentación de Despliegue de Strapi
Requisitos del Sistema
Node.js
- Versiones admitidas: Solo se admiten versiones LTS activas o LTS de mantenimiento (actualmente v18 y v20).
- Nota importante: Las versiones impares de Node.js (como v19, v21) no son compatibles.
Administrador de paquetes
- npm: Versión 6 o superior.
- yarn: Alternativa recomendada para manejar dependencias.
Python
- Solo necesario si utilizas una base de datos SQLite.
Requisitos de Hardware
Recurso | Recomendado | Mínimo |
---|---|---|
CPU | 2+ núcleos | 1 núcleo |
Memoria | 4 GB+ | 2 GB |
Almacenamiento | 32 GB+ | 8 GB |
Compatibilidad de Base de Datos
Base de Datos | Recomendado | Mínimo |
---|---|---|
MySQL | 8.0 | 8.0 |
MariaDB | 10.6 | 10.5 |
PostgreSQL | 14.0 | 12.0 |
SQLite | 3.0 | 3.0 |
Compatibilidad de Sistemas Operativos
Sistema Operativo | Recomendado | Mínimo |
---|---|---|
Ubuntu (LTS) | 22.04 | 20.04 |
Debian | 11.x | 10.x |
CentOS/RHEL | 9.x | 8.x |
macOS | 11.0 | 10.15 |
Escritorio de Windows | 11 | 10 |
Servidor de Windows | 2022 | 2019 |
Crear el Build
-
Genera el build de la aplicación ejecutando:
npm run build
Esto creará una carpeta llamada
build
que contiene los archivos listos para producción. -
Para ejecutar el build, utiliza:
npm run start
-
Opcional: Utiliza PM2 para gestionar la aplicación en segundo plano. Para configurarlo:
- Crea un archivo
server.js
en la raíz del proyecto con el siguiente contenido:const strapi = require('@strapi/strapi');
strapi.createStrapi().start(); - Inicia la aplicación con:
node server.js
- Crea un archivo
-
Si prefieres usar PM2, instala PM2 y configura un ecosistema de proceso:
npm install -g pm2
pm2 start server.js --name "strapi-app" -
Asegúrate de guardar la configuración de PM2 para reiniciar automáticamente al reiniciar el servidor:
pm2 save
pm2 startup
Mejores Prácticas para Producción
- Variables de entorno: Configura todas las credenciales y configuraciones sensibles en un archivo
.env
o variables de entorno del servidor. - Seguridad:
- Usa HTTPS para proteger la comunicación.
- Configura un firewall y asegúrate de restringir el acceso al puerto del servidor.
- Copia de seguridad: Realiza respaldos frecuentes de la base de datos y del servidor.
- Escalabilidad:
- Utiliza un balanceador de carga si esperas tráfico elevado.
- Implementa un servicio de almacenamiento en caché como Redis para mejorar el rendimiento.
Aquí tienes una versión mejorada y más detallada de la información sobre otros servicios para usar Strapi:
Otros Servicios para Despliegue
Strapi ofrece flexibilidad para ser desplegado en diferentes plataformas de alojamiento. A continuación, se mencionan algunas opciones y guías para implementarlo fácilmente.
Strapi
Strapi ofrece su plataforma para poder subir el proyecto y configurarlo, solo que tiene un costo al mes para mantenerlo
Render
Render es una plataforma sencilla y eficiente para desplegar aplicaciones.
Pasos básicos:
- Configura tu repositorio de Strapi en GitHub o GitLab.
- Sigue la guía oficial de Render para crear un servicio web.
- Asegúrate de configurar las variables de entorno y una base de datos persistente.
Guía completa:
Deploy Strapi on Render
DigitalOcean
DigitalOcean es una opción ideal para usuarios que prefieren un control más personalizado sobre su infraestructura.
Pasos básicos:
- Configura un Droplet en DigitalOcean con un sistema operativo compatible (Ubuntu recomendado).
- Instala las dependencias necesarias como Node.js, npm/yarn, y la base de datos de tu elección.
- Sigue las mejores prácticas para producción mencionadas anteriormente.
- Usa el Marketplace de DigitalOcean para simplificar la configuración.
Guía completa:
Strapi en DigitalOcean