# 🚀 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! 🎉** 