← Volver a la documentación

Documentación de implementación de Brazilware

Esta guía proporciona instrucciones paso a paso para implementar Brazilware en un entorno de producción.

Requisitos previos

Antes de comenzar la implementación, asegúrese de que el servidor cumpla con los siguientes requisitos:

Paso de implementación

1. Obtener el código fuente

Existen dos formas de obtener el código fuente:

Opción 1: Clonar el repositorio de Git

git clone https://github.com/azurejoga/brasilware.git
cd brasilware

Opción 2: Subir directamente desde los archivos

Si ya tiene los archivos del proyecto, súbalos al servidor y navegue hasta el directorio del proyecto.

2. Instalar dependencias

Ejecute el siguiente comando para instalar todas las dependencias necesarias:

npm install

4. Construir el proyecto

Ejecute el comando de construcción para generar archivos optimizados de producción:

npm run build

5. Iniciar el servidor

Para iniciar el servidor en modo de producción, ejecute:

npm run start

Para mantener el servidor en ejecución permanentemente, le recomendamos usar una herramienta como PM2:

# Instalar PM2 globalmente
npm install -g pm2

# Iniciar la aplicación con PM2
pm2 start npm --name "brasilware" -- start

# Configurar PM2 para que inicie automáticamente después de reiniciar el servidor
pm2 startup
pm2 save

6. Configurar un proxy inverso (opcional, pero recomendado)

Para un mejor rendimiento y seguridad, recomendamos configurar un servidor NGINX como Proxy Inverso:

Instalación de NGINX:

# En sistemas basados en Debian/Ubuntu
sudo apt update
sudo apt install nginx

# En sistemas basados en RHEL/Centos
sudo yum install nginx

Configuración de NGINX:

Cree un archivo de configuración para su sitio:

sudo nano /etc/nginx/sites-available/brasilware

Agregue el siguiente contenido:

server {
  listen 80;
  server_name tu-dominio.com www.tu-dominio.com;

  location / {
    proxy_pass http://localhost:5000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

Active la configuración y reinicie NGINX:

sudo ln -s /etc/nginx/sites-available/brasilware /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

7. Configurar https con Let's Encrypt (recomendado)

Para mayor seguridad, configure https utilizando Let's Encrypt:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d tu-dominio.com -d www.tu-dominio.com

Siga las instrucciones para generar y configurar los certificados automáticamente.

Estructura de directorios importantes

Mantenimiento y Monitoreo

Registros

Para ver los registros de la aplicación cuando está gestionada por PM2:

pm2 logs brasilware

Actualizar

Para actualizar la aplicación con una nueva versión:

# Detener la aplicación
pm2 stop brasilware

# Obtener los cambios si está usando git
git pull

# O actualice los archivos manualmente si es necesario

# Instalar dependencias y reconstruir
npm install
npm run build

# Reiniciar la aplicación
pm2 restart brasilware

Respaldo

Es importante realizar copias de seguridad periódicas de los siguientes directorios:

  1. data/: Contiene datos de almacenamiento local
  2. uploads/: Contiene todos los PDFs y módulos cargados

Ejemplo de comando de respaldo:

# Crear un directorio de respaldo
mkdir -p ~/backups

# Respaldo de data y uploads
tar -czf ~/backups/brasilware-data-$(date +%Y%m%d).tar.gz ./data ./uploads

Resolución de problemas comunes

El servidor no arranca

Revise los registros de errores con:

npm run start > error.log 2>&1
cat error.log

Problemas con los permisos de archivos

Asegúrese de que el usuario que ejecuta la aplicación tenga permisos de lectura/escritura en los directorios data y uploads:

sudo chown -R tu-usuario:tu-grupo ./data ./uploads
sudo chmod -R 777 ./data ./uploads

Error en la integración con la API de OpenAi

Verifique que la clave API esté configurada

Requisitos recomendados

Para el uso típico de Brazilware en un entorno de producción, recomendamos:

Contacto y soporte

Para ayuda adicional, contacte al equipo de desarrollo: