Skip to content

jadersistemas/whaticket-pkg-saas

Repository files navigation

Whaticket SaaS – Guia de Instalação e Operação

Requisitos Básicos

  • Ubuntu 20.04 (obrigatório)
  • Mínimo: 2 CPUs, 4GB RAM
  • Recomendado: 4 CPUs, 6GB RAM

1. Preparação do Ambiente

Atualize o sistema

sudo apt update && sudo apt upgrade -y

Instale pacotes essenciais

sudo apt install -y curl wget git unzip sudo lsb-release ca-certificates build-essential dos2unix
sudo apt autoremove

(Opcional) Configure timezone e hostname

Adicione ao /etc/hosts:

127.0.1.1 nexus-app

E execute:

sudo timedatectl set-timezone America/Sao_Paulo
sudo hostnamectl set-hostname nexus-app

(Opcional) Configure o firewall

sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo ufw status

2. Estrutura de Pastas e Clonagem

sudo mkdir -p /www/wwwroot
sudo chown $USER:$USER /www/wwwroot
sudo git clone https://github.com/psi-ezequiasmartins/whaticket-pkg-saas /www/wwwroot
cd /www/wwwroot

3. Permissões e Conversão de Arquivos

sudo chmod 755 *.sh lib/*.sh utils/*.sh variables/*.sh
dos2unix *.sh lib/*.sh utils/*.sh variables/*.sh whaticketsaas

4. Execução dos Scripts de Setup

./setup.sh
./checklist.sh
./check.sh
./check-v2.sh

5. Logs

mkdir -p /www/wwwroot/logs

6. Backup/Snapshot

Crie um snapshot da VPS pelo painel do provedor ou faça backup manual com rsync ou tar.


7. Instalação do WhaticketSaaS

Atenção:
Salve o log fora da pasta da instância para não perder durante o git clone.

sudo chmod +x whaticketsaas
script /www/wwwroot/logs/log-install.txt 2>&1
./whaticketsaas
# ou
sudo ./whaticketsaas | tee /www/wwwroot/logs/log-install.txt

Para finalizar o log:

exit

8. Inicialização dos Serviços

Backend (PM2)

cd /home/deploy/nexus/backend
pm2 start dist/server.js --name nexus-backend
pm2 save

Frontend (PM2, se aplicável)

Se o frontend for SSR/Node:

cd /home/deploy/nexus/frontend
pm2 start npm --name nexus-frontend -- run start
pm2 save

Obs: Para React build estático, use apenas o nginx.

NGINX

sudo systemctl restart nginx
# ou
sudo service nginx restart

Status dos Serviços

pm2 status

Dicas

  • Sempre use pm2 save após iniciar/reiniciar apps.
  • Logs backend:
    pm2 logs nexus-backend
  • Logs frontend:
    pm2 logs nexus-frontend

Configuração de E-mail (backend/.env)

MAIL_HOST="smtp.gmail.com"
MAIL_USER="seu-email"
MAIL_PASS="sua-senha"
MAIL_FROM="seu-email"
MAIL_PORT="587"

Configuração de Pagamento Gerencianet (backend/.env)

GERENCIANET_SANDBOX=true
GERENCIANET_CLIENT_ID=sua-id
GERENCIANET_CLIENT_SECRET=sua_chave_secreta
GERENCIANET_PIX_CERT=nome_do_certificado
GERENCIANET_PIX_KEY=chave_pix_gerencianet

Certificados:

  • Salve o certificado em .p12 e a chave privada em .pem na pasta backend/certs.

Observações sobre Configuração do NGINX

  • Os arquivos de configuração ficam em /etc/nginx/sites-available/ e os links simbólicos em /etc/nginx/sites-enabled/.
  • Para React build, NÃO use proxy_pass. Sirva os arquivos estáticos diretamente:
    server {
      listen 80;
      server_name seu-dominio.com.br;
    
      root /caminho/para/frontend/build;
      index index.html;
    
      location / {
        try_files $uri /index.html;
      }
    }
  • Para backend Node/Express, use proxy_pass apontando para a porta correta:
    server {
      listen 80;
      server_name api.seu-dominio.com.br;
    
      location / {
        proxy_pass http://127.0.0.1:4001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cache_bypass $http_upgrade;
      }
    }
  • Permissões:
    Os arquivos em /etc/nginx/sites-available/ devem ter permissão 644.
    Os links simbólicos em /etc/nginx/sites-enabled/ ficam como lrwxrwxrwx (padrão do sistema).
  • Após qualquer alteração, sempre teste e recarregue o nginx:
    sudo nginx -t
    sudo systemctl reload nginx
  • Se aparecer erro 502, verifique:
    • Se o serviço está rodando na porta correta.
    • Se o nginx tem permissão de leitura nos diretórios do frontend.
    • Os logs em /var/log/nginx/error.log.

Dica:
Documente sempre que fizer ajustes manuais nos arquivos do nginx para facilitar futuras manutenções!

Customização do Sistema

Troca de logo

cp /home/deploy/SUAEMPRESA/backend/certs/logo.png /home/deploy/SUAEMPRESA/frontend/
# logo.png (200x120), logologin.png (250x250)
cd /home/deploy/SUAEMPRESA/frontend/
npm run build
pm2 restart all

Troca do favicon

Use: https://favicon.io/favicon-converter/

Mudança de cores

Edite App.js:

primary: { main: '#0872b9' }, // Exemplo de cor

Rebuild e reinicie:

npm run build
pm2 restart all

Troca do nome da instância

Edite index.html e repita o build/restart.


Login padrão

Acesse: nexus-app.markagp.com.br


Observações Finais

  • Corrija variáveis não utilizadas e warnings do ESLint conforme necessário para manter o código limpo.
  • Sempre faça backup antes de grandes alterações.
  • Consulte os logs para depuração de problemas.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors