Skip to main content

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

RecursoRecomendadoMínimo
CPU2+ núcleos1 núcleo
Memoria4 GB+2 GB
Almacenamiento32 GB+8 GB

Compatibilidad de Base de Datos

Base de DatosRecomendadoMínimo
MySQL8.08.0
MariaDB10.610.5
PostgreSQL14.012.0
SQLite3.03.0

Compatibilidad de Sistemas Operativos

Sistema OperativoRecomendadoMínimo
Ubuntu (LTS)22.0420.04
Debian11.x10.x
CentOS/RHEL9.x8.x
macOS11.010.15
Escritorio de Windows1110
Servidor de Windows20222019

Crear el Build

  1. 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.

  2. Para ejecutar el build, utiliza:

    npm run start
  3. 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
  4. Si prefieres usar PM2, instala PM2 y configura un ecosistema de proceso:

    npm install -g pm2
    pm2 start server.js --name "strapi-app"
  5. 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

  1. Variables de entorno: Configura todas las credenciales y configuraciones sensibles en un archivo .env o variables de entorno del servidor.
  2. Seguridad:
    • Usa HTTPS para proteger la comunicación.
    • Configura un firewall y asegúrate de restringir el acceso al puerto del servidor.
  3. Copia de seguridad: Realiza respaldos frecuentes de la base de datos y del servidor.
  4. 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

Strapi en Render

Render

Render es una plataforma sencilla y eficiente para desplegar aplicaciones.

Pasos básicos:

  1. Configura tu repositorio de Strapi en GitHub o GitLab.
  2. Sigue la guía oficial de Render para crear un servicio web.
  3. 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:

  1. Configura un Droplet en DigitalOcean con un sistema operativo compatible (Ubuntu recomendado).
  2. Instala las dependencias necesarias como Node.js, npm/yarn, y la base de datos de tu elección.
  3. Sigue las mejores prácticas para producción mencionadas anteriormente.
  4. Usa el Marketplace de DigitalOcean para simplificar la configuración.

Guía completa:
Strapi en DigitalOcean