Commit inicial - upload de todos os arquivos da pasta

This commit is contained in:
2025-07-10 14:44:56 -03:00
commit 32d86d501c
94 changed files with 14452 additions and 0 deletions

220
DEPLOY.md Normal file
View File

@@ -0,0 +1,220 @@
# 🚀 Deploy no Coolify - IAsis Website
## 📋 Pré-requisitos
- Coolify instalado e configurado
- Repositório Git com os arquivos do projeto
- Docker disponível no servidor
## 🔧 Configuração do Deploy
### 1. Configurações do Projeto no Coolify
```bash
# Configurações básicas
Nome do Projeto: iasis-website
Repositório: [seu-repositório-git]
Branch: main (ou master)
```
### 2. Configurações de Build
```bash
# Comando de build
npm install --legacy-peer-deps && npm run build
# Diretório de saída
dist
# Porta da aplicação
80
# Health check
/health
```
### 3. Variáveis de Ambiente
No painel do Coolify, adicione as seguintes variáveis:
```bash
NODE_ENV=production
VITE_APP_NAME=IAsis
VITE_APP_VERSION=1.0.0
```
### 4. Configurações de Domínio
```bash
# Domínio personalizado (opcional)
seu-dominio.com
# SSL
Automático via Let's Encrypt (recomendado)
```
## 📦 Processo de Deploy
### Método 1: Deploy Automático (Recomendado)
1. **Conecte o repositório** no Coolify
2. **Configure as variáveis** de ambiente
3. **Inicie o deploy** automático
4. **Coolify irá**:
- Clonar o repositório
- Executar o build com Docker
- Servir via Nginx
- Configurar SSL automaticamente
### Método 2: Deploy Manual
Se preferir fazer deploy manual:
```bash
# 1. Build local
npm install --legacy-peer-deps
npm run build
# 2. Build da imagem Docker
docker build -t iasis-website .
# 3. Upload para o Coolify
# (seguir instruções específicas do seu Coolify)
```
## 🔍 Verificação do Deploy
### Endpoints de Teste
```bash
# Health check
https://seu-dominio.com/health
# Página principal
https://seu-dominio.com/
# Login
https://seu-dominio.com/
# Credenciais: Admin / Iasis@2025
```
### Logs de Verificação
```bash
# Verificar logs do container
docker logs [container-id]
# Verificar logs do Nginx
docker exec [container-id] cat /var/log/nginx/access.log
docker exec [container-id] cat /var/log/nginx/error.log
```
## 🛠️ Troubleshooting
### Problemas Comuns
1. **Erro de dependências**:
```bash
# Solução: usar --legacy-peer-deps
npm install --legacy-peer-deps
```
2. **Erro de build**:
```bash
# Verificar se o Node.js 18 está sendo usado
node --version
```
3. **Erro de roteamento SPA**:
```bash
# Verificar se o default.conf está correto
# Deve ter: try_files $uri $uri/ /index.html;
```
4. **Erro de permissões**:
```bash
# Verificar permissões dos arquivos
ls -la /usr/share/nginx/html
```
### Comandos Úteis
```bash
# Verificar status do container
docker ps
# Entrar no container
docker exec -it [container-id] /bin/sh
# Verificar arquivos servidos
docker exec [container-id] ls -la /usr/share/nginx/html
# Testar Nginx
docker exec [container-id] nginx -t
# Recarregar configuração do Nginx
docker exec [container-id] nginx -s reload
```
## 📊 Monitoramento
### Métricas Importantes
- **Uptime**: verificar via `/health`
- **Logs de acesso**: monitorar via Nginx
- **Uso de recursos**: CPU e memória
- **Tempo de resposta**: páginas carregando < 2s
### Alertas Recomendados
- Container down
- Alto uso de CPU (> 80%)
- Muitos erros 4xx/5xx
- Tempo de resposta elevado
## 🔒 Segurança
### Headers de Segurança Implementados
```nginx
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
```
### Recomendações Adicionais
- Usar HTTPS sempre
- Configurar firewall adequadamente
- Monitorar logs de acesso
- Manter Nginx atualizado
## 📈 Performance
### Otimizações Implementadas
- **Compressão gzip** para todos os assets
- **Cache headers** otimizados
- **Build otimizado** com Vite
- **Imagem Docker leve** (Alpine Linux)
### Métricas Esperadas
- **Primeiro carregamento**: < 2s
- **Navegação**: < 0.5s
- **Tamanho do bundle**: < 2MB
- **Lighthouse score**: > 90
---
## 🆘 Suporte
Em caso de problemas:
1. Verificar logs do Coolify
2. Consultar documentação do Coolify
3. Verificar configurações de rede
4. Testar localmente primeiro
**Deploy realizado com sucesso! 🎉**