š Guia Completo de Instalação - ECOSIF
š VisĆ£o Geral
Este guia fornece instruções passo a passo para instalação completa do sistema ECOSIF em qualquer ambiente.
ā PrĆ©-requisitos
Software NecessƔrio
| Software | VersĆ£o MĆnima | Como Instalar |
|---|---|---|
| Docker | 20.10+ | InstruƧƵes |
| Docker Compose | 2.0+ | IncluĆdo no Docker Desktop |
| Python | 3.8+ | InstruƧƵes |
| Git | 2.0+ | InstruƧƵes |
Verificar InstalaƧƵes
docker --version
docker compose version
python3 --version
git --version
š Instalação RĆ”pida
Passo 1: Clonar Repositório
git clone <repo-url>
cd ecosif-ia-services
cd ecosif-structure
Passo 2: Configurar VariƔveis
# Executar script interativo
python3 scripts/setup-env.py
O script irĆ”:
- ā
Criar .env se não existir
- ā
Mostrar valores atuais
- ā
Permitir configurar variƔveis
- ā
Gerar senhas automaticamente (opcional)
Passo 3: Iniciar ServiƧos
Desenvolvimento:
./scripts/start.sh --dev
Produção:
./scripts/start.sh
Passo 4: Verificar
# Status
./scripts/status.sh
# Logs
./scripts/logs.sh --follow
š Instalação Detalhada
1. Preparação do Ambiente
1.1 Clonar Repositórios
# Repositório principal
git clone <repo-url>
cd ecosif-ia-services/ecosif-structure
# Atualizar submodules (se houver)
./scripts/update-submodules.sh
1.2 Verificar Requisitos
# Verificar Docker
docker ps
# Verificar portas disponĆveis
netstat -tulpn | grep -E ':(80|443|8080|5432)'
2. Configuração de VariÔveis
2.1 Executar Configurador
python3 scripts/setup-env.py
2.2 VariÔveis Obrigatórias
Durante a execução do script, configure:
-
POSTGRES_DB: Nome do banco de dados - Exemplo:
ecosifouecosif_prod -
POSTGRES_USER: UsuƔrio PostgreSQL - Exemplo:
postgresouecosif_user -
POSTGRES_PASSWORD: Senha do PostgreSQL - IMPORTANTE: Use senha forte - Pode ser gerada automaticamente
-
AUTH_TOKEN_SECRET: Chave secreta JWT - CRĆTICO: MĆnimo 32 caracteres - Deve ser a mesma em todos os serviƧos - Pode ser gerada automaticamente
-
ECOSIF_DOMAIN: DomĆnio base - Desenvolvimento:
localhost- Produção:ecosif.cliente.com -
ECOSIF_API_BASE_URL: URL completa - Desenvolvimento:
http://localhost- Produção:https://ecosif.cliente.com
2.3 Verificar Configuração
# Verificar arquivo .env criado
cat .env | grep -v PASSWORD | grep -v SECRET
# Verificar se senhas foram geradas
cat .env | grep -E "(PASSWORD|SECRET)" | head -c 50
3. Inicialização do Banco de Dados
3.1 Iniciar PostgreSQL
# Iniciar apenas PostgreSQL
./scripts/start.sh postgres
# Aguardar inicialização (30 segundos)
sleep 30
3.2 Inicializar Banco
# Executar script de inicialização
./scripts/init-database.sh
Este script: - ā Cria banco de dados - ā Cria usuĆ”rio - ā Aplica migrations do Flyway - ā Insere dados iniciais (usuĆ”rio admin)
4. Iniciar Todos os ServiƧos
Modo Desenvolvimento
# Iniciar em modo desenvolvimento
./scripts/start.sh --dev
# Ou com rebuild das imagens
./scripts/start.sh --dev --build
Modo Produção
# Iniciar em modo produção
./scripts/start.sh
# Ou com rebuild
./scripts/start.sh --build
5. Verificação Pós-Instalação
5.1 Verificar Status
# Status geral
./scripts/status.sh
# Logs em tempo real
./scripts/logs.sh --follow
5.2 Testar Acessos
Modo Desenvolvimento:
# Frontend
curl http://localhost
# API Auth
curl http://localhost/ecosif-auth/actuator/health
# Health checks
curl http://localhost:8080/ecosif-auth/actuator/health
Modo Produção:
# Frontend (HTTPS)
curl -k https://seu-dominio.com
# API Auth (HTTPS)
curl -k https://seu-dominio.com/ecosif-auth/actuator/health
š§ Pós-Instalação
Configurar UsuƔrio Admin
Após inicialização, acesse:
- URL: http://localhost/ecosif-auth (dev) ou https://seu-dominio.com/ecosif-auth (prod)
- Credenciais padrão: Verificar no script init-database.sh
Configurar SSL (Apenas Produção)
Ver guia: traefik/README-HTTPS.md
š Troubleshooting
Erro: "Porta jĆ” em uso"
# Verificar qual processo estĆ” usando a porta
sudo lsof -i :80
sudo lsof -i :443
# Parar processo ou mudar porta no .env
Erro: "Container não inicia"
# Ver logs detalhados
./scripts/logs.sh [service_name]
# Verificar variƔveis
docker-compose config
Erro: "Banco de dados não conecta"
# Verificar se PostgreSQL estĆ” rodando
docker ps | grep postgres
# Testar conexão
docker exec -it postgres psql -U postgres -d ecosif
Ćltima Atualização: 2025-12-01