← Voltar para Documentação

Documentação de Implantação do Brasilware

Este guia fornece instruções passo a passo para implantar o Brasilware em um ambiente de produção.

Pré-requisitos

Antes de começar a implantação, certifique-se de que o servidor atenda aos seguintes requisitos:

Etapas de Implantação

1. Obter o Código Fonte

Existem duas maneiras de obter o código fonte:

Opção 1: Clonar do repositório Git

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

Opção 2: Fazer upload direto dos arquivos

Se você já tem os arquivos do projeto, faça upload para o servidor e navegue até o diretório do projeto.

2. Instalar Dependências

Execute o seguinte comando para instalar todas as dependências necessárias:

npm install

4. Construir o Projeto

Execute o comando de build para gerar os arquivos de produção otimizados:

npm run build

5. Iniciar o Servidor

Para iniciar o servidor em modo de produção, execute:

npm run start

Para manter o servidor em execução permanentemente, recomendamos usar uma ferramenta como PM2:

# Instalar PM2 globalmente
npm install -g pm2

# Iniciar o aplicativo com PM2
pm2 start npm --name "brasilware" -- start

# Configurar PM2 para iniciar automaticamente após reinicialização do servidor
pm2 startup
pm2 save

6. Configurar um Proxy Reverso (Opcional, mas Recomendado)

Para melhor desempenho e segurança, recomendamos configurar um servidor Nginx como proxy reverso:

Instalação do Nginx:

# Em sistemas baseados em Debian/Ubuntu
sudo apt update
sudo apt install nginx

# Em sistemas baseados em RHEL/CentOS
sudo yum install nginx

Configuração do Nginx:

Crie um arquivo de configuração para o seu site:

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

Adicione o seguinte conteúdo:

server {
  listen 80;
  server_name seu-dominio.com www.seu-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;
  }
}

Ative a configuração e reinicie o Nginx:

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

7. Configurar HTTPS com Let's Encrypt (Recomendado)

Para segurança adicional, configure HTTPS usando Let's Encrypt:

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

Siga as instruções para gerar e configurar os certificados automaticamente.

Estrutura de Diretórios Importantes

Manutenção e Monitoramento

Logs

Para visualizar os logs do aplicativo quando gerenciado pelo PM2:

pm2 logs brasilware

Atualização

Para atualizar o aplicativo com uma nova versão:

# Parar o aplicativo
pm2 stop brasilware

# Puxar as alterações se estiver usando Git
git pull

# Ou, atualizar os arquivos manualmente se necessário

# Instalar dependências e reconstruir
npm install
npm run build

# Reiniciar o aplicativo
pm2 restart brasilware

Backup

É importante fazer backup regular dos seguintes diretórios:

  1. data/: Contém os dados do armazenamento local
  2. uploads/: Contém todos os PDFs e módulos carregados

Exemplo de comando de backup:

# Criar um diretório para backups
mkdir -p ~/backups

# Fazer backup dos dados e uploads
tar -czf ~/backups/brasilware-data-$(date +%Y%m%d).tar.gz ./data ./uploads

Resolução de Problemas Comuns

O servidor não inicia

Verifique os logs de erro com:

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

Problemas com permissões de arquivos

Certifique-se de que o usuário que executa o aplicativo tenha permissões de leitura/escrita nos diretórios data e uploads:

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

Erro na integração com a API do OpenAI

Verifique se a chave da API está corretamente configurada nas configurações

Requisitos de Recursos Recomendados

Para o uso típico do Brasilware em um ambiente de produção, recomendamos:

Contato e Suporte

Para obter ajuda adicional, entre em contato com a equipe de desenvolvimento: