Solução de Problemas
Este guia apresenta soluções para problemas comuns durante a instalação, configuração e operação do Sistema Divino Alimento.
Esta página é destinada a administradores de sistema e usuários finais.
Se você é desenvolvedor, consulte Problemas Comuns no Desenvolvimento.
Problemas de Instalação
Erro: "Port already in use"
Problema: A porta configurada já está sendo usada por outro processo.
Solução:
# Verificar qual processo está usando a porta
sudo netstat -tulpn | grep :13000
# Opção 1: Parar o processo conflitante
sudo kill -9 <PID_do_processo>
# Opção 2: Alterar a porta no arquivo .env
nano .env
# Altere PORT=13000 para outra porta (ex: PORT=8080)
# Reinicie o sistema
rake vivo:para
rake vivo:liga
Erro: "Docker not found"
Problema: Docker não está instalado ou não está no PATH.
Solução:
# Instalar Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Adicionar usuário ao grupo docker (evita usar sudo)
sudo usermod -aG docker $USER
# Fazer logout e login novamente para aplicar
# Ou executar:
newgrp docker
# Verificar instalação
docker --version
docker-compose --version
Erro: "Permission denied" ao executar Docker
Problema: Usuário não tem permissão para executar comandos Docker.
Solução:
# Adicionar usuário ao grupo docker
sudo usermod -aG docker $USER
# Reiniciar sessão ou executar
newgrp docker
# Verificar se funcionou
docker ps
Erro ao clonar repositório
Problema: Falha ao executar git clone.
Solução:
# Verificar se git está instalado
git --version
# Se não estiver, instalar
# Ubuntu/Debian:
sudo apt-get install git
# CentOS/RHEL:
sudo yum install git
# Verificar conectividade
ping github.com
# Tentar clonar novamente
git clone https://github.com/tekopora/divino-alimento.git
Problemas de Configuração
Erro de Autenticação OAuth
Problema: Usuários não conseguem fazer login via Google.
Possíveis causas e soluções:
-
Credenciais OAuth não configuradas:
# Verificar se as variáveis estão no .env
cat .env | grep GOOGLE
# Devem existir:
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GOOGLE_CALLBACK_URL=... -
URLs de callback incorretas:
- Verificar no Google Cloud Console se a URL de callback está correta
- Formato:
http://seu-dominio:porta/auth/google/callback - Para mais detalhes, consulte Autenticação e Autorização
-
Reiniciar após alterações:
rake vivo:para
rake vivo:liga
Banco de Dados não Conecta
Problema: Sistema não consegue conectar ao PostgreSQL.
Diagnóstico:
# Verificar logs do container de banco
docker-compose logs db
# Verificar se container está rodando
docker-compose ps
# Verificar variáveis de conexão no .env
cat .env | grep DB_
Soluções:
# Solução 1: Reiniciar apenas o banco
docker-compose restart db
# Solução 2: Reiniciar todo o sistema
rake vivo:para
rake vivo:liga
# Solução 3: Resetar volumes (CUIDADO: perde todos os dados)
docker-compose down -v
rake vivo:liga
rake vivo:popular
Arquivo .env não encontrado
Problema: Sistema não encontra arquivo de configuração.
Solução:
# Verificar se .env existe
ls -la .env
# Se não existir, copiar do exemplo
cp env.example .env
# Editar configurações necessárias
nano .env
Problemas de Operação
Sistema Não Carrega / Página em Branco
Diagnóstico:
# Verificar logs da aplicação
docker-compose logs app
# Verificar se todos os containers estão rodando
docker-compose ps
# Verificar portas expostas
docker-compose port app 3000
Soluções:
# Reiniciar sistema completo
rake vivo:para
rake vivo:liga
# Se persistir, verificar logs detalhados
docker-compose logs -f app
# Verificar se todas as variáveis obrigatórias estão no .env
cat .env
Produtos não Aparecem nas Ofertas
Problema: Agricultores não veem produtos para ofertar.
Possíveis causas e como resolver:
1. Produtos marcados como inativos
Verificação:
- Acessar menu
Cadastros>Produtos - Verificar coluna "Situação"
Solução:
- Editar produto
- Alterar situação para "Ativo"
- Salvar alterações
2. Período de ofertas não está vigente
Verificação:
- Acessar menu
Ciclos - Verificar datas do ciclo atual
- Confirmar que hoje está entre "Data início ofertas" e "Data fim ofertas"
Solução:
- Editar ciclo
- Ajustar datas de início e fim das ofertas
- Salvar alterações
3. Produtos não cadastrados
Solução:
- Acessar menu
Cadastros>Produtos - Clicar em "Novo Produto"
- Preencher informações:
- Nome do produto
- Categoria
- Unidade de medida
- Situação: Ativo
- Salvar
4. Usuário não tem perfil de Fornecedor
Verificação:
- Verificar se usuário tem perfil "Fornecedor" associado
Solução:
- Administrador deve acessar
Usuários - Editar usuário
- Adicionar perfil "Fornecedor"
Erro ao Compor Cestas
Problema: Erro ao salvar composição de cestas.
1. Quantidades ofertadas insuficientes
Sintoma: Sistema exibe alerta de "Quantidade insuficiente".
Verificação:
- Acessar "Ofertas" do ciclo
- Verificar quantidades ofertadas para cada produto
- Sistema mostra indicadores de disponibilidade (vermelho/amarelo/verde)
Solução:
- Reduzir quantidade de produtos nas cestas
- Ou solicitar que fornecedores aumentem ofertas
- Ou reduzir número de cestas
2. Valor da cesta excede máximo
Sintoma: "Valor da cesta excede o máximo permitido".
Verificação:
- Verificar valor máximo configurado no tipo de cesta
Solução:
- Remover ou reduzir quantidade de produtos mais caros
- Ou ajustar valor máximo do tipo de cesta (se aplicável)
3. Nenhum produto selecionado
Sintoma: "Selecione ao menos um produto".
Solução:
- Adicionar produtos à composição
- Definir quantidade para cada produto
Relatórios Vazios ou Incompletos
Problema: Relatórios não mostram dados esperados.
Checklist de verificação:
Para Relatório de Ofertas
- Ciclo foi criado e está ativo?
- Período de ofertas está vigente ou já passou?
- Fornecedores cadastraram ofertas?
- Produtos estão ativos?
Como verificar:
- Menu
Ciclos> Selecionar ciclo > Ver ofertas
Para Relatório de Cestas
- Ofertas foram registradas?
- Cestas foram compostas pelo administrador?
- Composição foi salva?
Como verificar:
- Menu
Ciclos> Selecionar ciclo > Composição Cestas
Para Relatório de Pedidos Extras
- Período de pedidos está vigente?
- Consumidores fizeram pedidos?
- Pedidos foram confirmados?
Como verificar:
- Menu
Ciclos> Selecionar ciclo > Ver pedidos extras
Para Relatório de Fornecedores
- Pedidos extras foram associados aos fornecedores?
- Associação foi salva?
Como verificar:
- Menu
Ciclos> Selecionar ciclo > Associar pedidos extras
Usuários não Recebem Notificações por Email
Problema: Sistema não envia emails.
O sistema de notificações por email está em desenvolvimento na versão Mercados. Atualmente, recomenda-se comunicação direta via WhatsApp ou outros canais.
Problemas de Performance
Sistema Lento
Diagnóstico:
# Verificar uso de recursos pelos containers
docker stats
# Verificar espaço em disco
df -h
docker system df
Soluções:
# 1. Limpar containers e imagens não utilizadas
docker system prune -a
# 2. Reiniciar containers
rake vivo:para
rake vivo:liga
# 3. Se persistir, verificar recursos do servidor
# Recomendado: mínimo 2GB RAM, 2 CPUs
Banco de Dados Crescendo Muito
Quando fazer manutenção:
- Banco de dados > 5GB
- Sistema ficando lento
- Muitos ciclos antigos (> 1 ano)
Solução:
# 1. SEMPRE fazer backup antes
docker-compose exec db pg_dump -U postgres divino_alimento > backup.sql
# 2. Limpar dados antigos via interface web
# - Inativar ciclos muito antigos
# - Remover ofertas e pedidos de ciclos arquivados (se aplicável)
# 3. Otimizar banco de dados
docker-compose exec db psql -U postgres divino_alimento -c "VACUUM FULL;"
# 4. Verificar tamanho após otimização
docker-compose exec db psql -U postgres divino_alimento -c "
SELECT pg_size_pretty(pg_database_size('divino_alimento'));"
Monitoramento e Diagnóstico
Verificar Status dos Containers
# Status de todos os containers
docker-compose ps
# Esperado:
# NAME SERVICE STATUS PORTS
# app app Up 0.0.0.0:13000->3000/tcp
# db db Up 5432/tcp
Visualizar Logs
# Todos os serviços
docker-compose logs -f
# Apenas aplicação
docker-compose logs -f app
# Apenas banco
docker-compose logs -f db
# Últimas 100 linhas
docker-compose logs --tail=100 app
# Filtrar por erros
docker-compose logs app | grep -i error
Verificar Recursos do Sistema
# Uso de CPU, RAM e I/O pelos containers
docker stats
# Espaço em disco usado pelo Docker
docker system df
# Espaço em disco do servidor
df -h
Backup e Recuperação
Criar Backup Manual
# Backup do banco de dados
docker-compose exec db pg_dump -U postgres divino_alimento > backup_$(date +%Y%m%d_%H%M%S).sql
# Comprimir backup
gzip backup_*.sql
# Verificar backup criado
ls -lh backup_*.sql.gz
Restaurar Backup
# Descompactar se necessário
gunzip backup_20241201_120000.sql.gz
# Parar aplicação
rake vivo:para
# Restaurar backup
docker-compose exec -T db psql -U postgres divino_alimento < backup_20241201_120000.sql
# Reiniciar aplicação
rake vivo:liga
Backup de Configuração
# Backup do .env e outros arquivos importantes
tar -czf config_backup_$(date +%Y%m%d).tar.gz .env docker-compose.yml
# Restaurar
tar -xzf config_backup_20241201.tar.gz
Configure um cron job para fazer backups automáticos diariamente:
# Editar crontab
crontab -e
# Adicionar linha (backup diário às 2h da manhã)
0 2 * * * cd /caminho/para/divino-alimento && docker-compose exec -T db pg_dump -U postgres divino_alimento | gzip > /backups/divino_$(date +\%Y\%m\%d).sql.gz
Problemas de Rede e Acesso
Sistema Acessível Apenas Localmente
Problema: Não consegue acessar de outros computadores na rede.
Solução:
-
Verificar docker-compose.yml:
# Procurar por:
ports:
- "127.0.0.1:13000:3000" # ❌ Apenas localhost
# Alterar para:
ports:
- "0.0.0.0:13000:3000" # ✅ Todas as interfaces -
Verificar firewall:
# Ver regras atuais
sudo ufw status
# Liberar porta
sudo ufw allow 13000 -
Reiniciar sistema:
rake vivo:para
rake vivo:liga
Erro de Conexão Recusada
Problema: "Connection refused" ao acessar sistema.
Checklist:
# 1. Container está rodando?
docker-compose ps
# 2. Porta está exposta?
docker-compose port app 3000
# 3. Tentar acessar localmente primeiro
curl http://localhost:13000
# 4. Verificar firewall
sudo ufw status
# 5. Verificar IP do servidor
ip addr show
Obter Ajuda Adicional
Informações Úteis para Reportar Problemas
Ao reportar um problema, inclua:
-
Versão do sistema operacional:
cat /etc/os-release -
Versão do Docker:
docker --version
docker-compose --version -
Logs relevantes:
docker-compose logs > logs.txt -
Configuração (SEM senhas!):
cat .env | grep -v "SECRET\|PASS\|PASSWORD" > config.txt -
Descrição detalhada:
- O que você estava tentando fazer?
- O que você esperava que acontecesse?
- O que realmente aconteceu?
- Mensagens de erro exatas (copiar e colar)
- Quando o problema começou?
Contato e Suporte
- Email Tekoporã: info@tekopora.top
- Site Akarui: www.akarui.org.br
- Site Tekoporã: tekopora.top
Documentação Adicional
- Guia de Instalação - Instalação completa do sistema
- Guia de Início Rápido - Primeiros passos após instalação
- Casos de Uso - Como usar funcionalidades específicas
- Problemas no Desenvolvimento - Para desenvolvedores
Execute git pull regularmente para obter atualizações e correções de bugs.
Depois, reinicie os containers com rake vivo:para && rake vivo:liga.