šŸ“˜ 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:

  1. POSTGRES_DB: Nome do banco de dados - Exemplo: ecosif ou ecosif_prod

  2. POSTGRES_USER: UsuƔrio PostgreSQL - Exemplo: postgres ou ecosif_user

  3. POSTGRES_PASSWORD: Senha do PostgreSQL - IMPORTANTE: Use senha forte - Pode ser gerada automaticamente

  4. 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

  5. ECOSIF_DOMAIN: Domínio base - Desenvolvimento: localhost - Produção: ecosif.cliente.com

  6. 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