🔴 PROBLEMAS DE BUILD - FRONTENDS
🔴 PROBLEMAS DE BUILD - FRONTENDS
Data: 2026-01-13 Status: ✅ PRODUCER RESOLVIDO | ⏳ SUPPLIER PENDENTE
📋 RESUMO DOS PROBLEMAS
1. Producer - Build Docker ✅ RESOLVIDO
Problema: Build falhava na VPS mas funcionava localmente.
Causa: Cache do Docker estava causando problemas no build.
Solução: Build com --no-cache flag:
docker build --no-cache -f apps/producer/Dockerfile.production -t agrsis-producer:latest apps/producer
Status: ✅ RESOLVIDO - Producer rodando em https://producer.agrsis.com
2. Email de Recuperação de Senha ✅ RESOLVIDO
Problema: Frontend (Producer) mostrava erro "Erro ao enviar email de recuperação" mesmo com API configurada corretamente.
Causa Raiz: AMBOS os containers (API e Producer) tinham o .env embutido durante o build. Copiar o .env para a VPS não era suficiente porque os containers usavam o .env antigo hard-coded na imagem Docker.
Solução Completa:
# 1. REBUILDAR API (Laravel)
cd /opt/agrsis
cp .env apps/api/.env
docker compose build --no-cache api
docker compose up -d api
docker exec agrsis_api php artisan config:clear
docker exec agrsis_api php artisan cache:clear
# 2. REBUILDAR PRODUCER (Nuxt Frontend)
docker compose build --no-cache frontend-producer
docker compose up -d frontend-producer
Configurações Corretas Aplicadas:
- API:
MAIL_HOST=smtp-relay.brevo.com,APP_FRONTEND_URL=https://producer.agrsis.com - Producer:
NUXT_PUBLIC_API_BASE_URL=https://api.agrsis.com/api/v1
Status: ✅ RESOLVIDO - Containers reconstruídos com configurações corretas
3. Supplier - Erro no Import do Heroicons ⏳ PENDENTE
Arquivo: apps/supplier/components/dashboard/MetricCard.vue:42Erro: "TrendingUpIcon" is not exported by "@heroicons/vue/20/solid"
Código com problema:
<script setup lang="ts">
import {
TrendingUpIcon, // ❌ Não existe em 20/solid
TrendingDownIcon // ❌ Não existe em 20/solid
} from '@heroicons/vue/20/solid'
</script>
Solução:
<script setup lang="ts">
// Trending icons estão em 24/outline, não em 20/solid
import {
ArrowTrendingUpIcon, // ✅ Nome correto
ArrowTrendingDownIcon // ✅ Nome correto
} from '@heroicons/vue/24/outline'
</script>
Status: ⏳ Pendente de correção (não prioritário)
🔧 AÇÕES REALIZADAS
- ✅ Identificado erro de template string no producer
- ✅ Corrigido erro de template string localmente
- ✅ Simplificado Dockerfile.production do producer
- ✅ Identificado erro de import no supplier
- ⏳ Aguardando deploy do producer corrigido
📝 PRÓXIMOS PASSOS
Producer (URGENTE)
- Deploy manual do producer (supplier não funciona por enquanto)
- Testar acesso em https://producer.agrsis.com
- Testar funcionalidade de forgot-password
Supplier (MÉDIO PRAZO)
- Corrigir imports do Heroicons em MetricCard.vue
- Verificar se há outros componentes com mesmo problema
- Testar build localmente
- Deploy após correção
🐛 LOGS DE ERRO
Producer - Build Error (ANTES DA CORREÇÃO)
[nuxi] ERROR Nuxt Build Error: composables/useProposalSelection.js (19:13): Unterminated template
file: /app/composables/useProposalSelection.js:19:13
17: selectedProposals.value.push(proposal)
18: } else {
19: alert(\`Você pode comparar no máximo \${MAX_SELECTION} propostas por vez.\`)
^
20: }
21: }
Supplier - Build Error (ATUAL)
[nuxi] ERROR Nuxt Build Error: components/dashboard/MetricCard.vue?vue&type=script&setup=true&lang.ts (42:2):
"TrendingUpIcon" is not exported by "node_modules/@heroicons/vue/20/solid/esm/index.js"
file: /app/components/dashboard/MetricCard.vue?vue&type=script&setup=true&lang.ts:42:2
40: } from '@heroicons/vue/24/outline'
41: import {
42: TrendingUpIcon,
^
43: TrendingDownIcon
44: } from '@heroicons/vue/20/solid'
⚠️ NOTAS IMPORTANTES
- Nomes dos containers no NPM estão corretos:
- API:
agrsis_api(porta 8000) - Producer:
agrsis_producer(porta 3000) - Supplier:
agrsis_supplier(porta 3000)
- API:
- Script de deploy usa esses nomes corretamente
- Build do supplier bloqueia deploy completo - Por isso faremos deploy manual apenas do producer
- Email já foi corrigido na API - Brevo configurado e testado via Tinker ✅
📊 STATUS DOS SERVIÇOS
| Serviço | Container | Status Build | Status Runtime | URL | Observações |
|---|---|---|---|---|---|
| API | agrsis_api | ✅ OK | ✅ Rodando | https://api.agrsis.com | Email Brevo OK, migrations OK |
| Producer | agrsis_producer | ✅ OK | ✅ Rodando | https://producer.agrsis.com | Build com --no-cache ✅ |
| Supplier | agrsis_supplier | ❌ Falha | ❌ Parado | - | Erro de import Heroicons |
| PostgreSQL | agrsis_postgres_prod | ✅ OK | ✅ Rodando | - | 6 users, 5 addresses |
| Redis | agrsis_redis_prod | ✅ OK | ✅ Rodando | - | - |
Última atualização: 2026-01-13 14:10 UTC